如何在re.split()函数中对正则表达式进行分组?
这里有两个例子来展示 re.split() 是怎么工作的:
>>> re.split(',', 'a,b')
['a', 'b']
但是
>>> re.split('(,)', 'a,b')
['a', ',', 'b']
为什么我在列表里会看到 ',' 呢?怎么才能避免它呢?
我问这个问题是因为我想用类似 'xy(a|b)cd' 的表达式来进行分割。
2 个回答
2
之所以这样工作,是因为文档上是这样说明的:
如果在模式中使用了捕获括号,那么模式中所有组的文本也会作为结果列表的一部分返回。
22
使用一个不捕获的分组,比如:
re.split('(?:,)', 'a,b')