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

cau*_*chy 5 python regex split

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

>>> re.split(',', 'a,b')
['a', 'b']
Run Code Online (Sandbox Code Playgroud)

>>> re.split('(,)', 'a,b')
['a', ',', 'b']
Run Code Online (Sandbox Code Playgroud)

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

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

Qta*_*tax 11

使用非捕获组,例如:

re.split('(?:,)', 'a,b')
Run Code Online (Sandbox Code Playgroud)

  • @cauchy,因为捕获组(括号)捕获它们的内容(根据定义,它包含在拆分结果中作为每个捕获组的元素和拆分匹配). (2认同)