python re.split?

新手上路,请多包涵

re.split(r",(?![^(]*\))", a)
这个怎么理解

阅读 1.8k
1 个回答

根据正则匹配结果,按照匹配到的字符串去分割目标字符串

,(?![^(]*\)) 是正则表达式,这个表达式会匹配逗号 , ,和 (?![^(]*\))。即:在匹配逗号的同时排除包含括号和括号内的的任意字符。

>>> import re
>>> a = "sfdsf,(sdf),adfsf,sdfsf,(,),"
>>> b = re.split(r",(?![^(]*\))", a)
>>> print(b)
['sfdsf', '(sdf)', 'adfsf', 'sdfsf', '(,)', '']
推荐问题