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

Bru*_*uce 1 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']
Run Code Online (Sandbox Code Playgroud)

Jor*_*een 6

re模块文档:

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

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