re.split(r",(?![^(]*\))", a)
這個怎麼理解
根據正則匹配結果,按照匹配到的字符串去分割目標字符串
,(?![^(]*\))
是正則表達式,這個表達式會匹配逗號 ,
,和 (?![^(]*\))
。即:在匹配逗號的同時排除包含括號和括號內的的任意字符。
>>> import re >>> a = "sfdsf,(sdf),adfsf,sdfsf,(,)," >>> b = re.split(r",(?![^(]*\))", a) >>> print(b) ['sfdsf', '(sdf)', 'adfsf', 'sdfsf', '(,)', '']
根據正則匹配結果,按照匹配到的字符串去分割目標字符串
,(?![^(]*\))
是正則表達式,這個表達式會匹配逗號 ,
,和 (?![^(]*\))
。即:在匹配逗號的同時排除包含括號和括號內的的任意字符。
>>> import re >>> a = "sfdsf,(sdf),adfsf,sdfsf,(,)," >>> b = re.split(r",(?![^(]*\))", a) >>> print(b) ['sfdsf', '(sdf)', 'adfsf', 'sdfsf', '(,)', '']