如何在re.split()函数中对正则表达式进行分组?

时间:2012-01-28 20:55:11

标签: python regex split

请参阅两个示例re.split()的工作原理:

>>> re.split(',', 'a,b')
['a', 'b']

>>> re.split('(,)', 'a,b')
['a', ',', 'b']

为什么我在列表中得到','?如何避免呢?

我在问,因为我想使用类似'xy(a | b)cd'的表达式进行拆分。

2 个答案:

答案 0 :(得分:10)

使用非捕获组,例如:

re.split('(?:,)', 'a,b')

答案 1 :(得分:1)

它是这样的,因为它是documented to work that way

  

如果在模式中使用捕获括号,则表示所有组中的文本   该模式也作为结果列表的一部分返回。