Python正则表达式\ W:with vs without括号

时间:2016-11-02 04:22:39

标签: python regex

以下是快速演示。使用\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']

1 个答案:

答案 0 :(得分:6)

来自re module文档:

  

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

作为参考,在括号中包装正则表达式的部分会创建capturing group。这些是模式的组,以后可以作为单个实体引用。