以下是快速演示。使用\W
匹配非单词并拆分给定的字符串。为什么有和没有括号之间有区别?
>>> s = "abc:def:ghi"
>>> p = "(\W+)"
>>> q = "\W+"
>>> import re
>>> re.split(p, s, flags=re.UNICODE)
['abc', ':', 'def', ':', 'ghi']
>>> re.split(q, s, flags=re.UNICODE)
['abc', 'def', 'ghi']
答案 0 :(得分:6)
来自re
module文档:
如果在模式中使用捕获括号,则模式中所有组的文本也将作为结果列表的一部分返回。
作为参考,在括号中包装正则表达式的部分会创建capturing group
。这些是模式的组,以后可以作为单个实体引用。