'(',')'在正则表达式拆分中扮演什么角色?

问题描述 投票:0回答:1

'(',')'用作RE中的分组。但是,我不容易理解第二个结果是如何产生的?谢谢!

This is an example in the official RE documentation reagrding re.split() function. https://docs.python.org/3/library/re.html#module-contents

In: re.split(r'\W+', 'Words, words, words.')
Out: ['Words', 'words', 'words', '']

In: re.split(r'(\W+)', 'Words, words, words.')
Out: ['Words', ', ', 'words', ', ', 'words', '.', '']
python regex
1个回答
0
投票

re docs开始:通过出现的模式分割字符串。如果在模式中使用了捕获括号,则模式中所有组的文本也将作为结果列表的一部分返回。

没有捕获组,则将正则表达式从拆分字符串中删除。在第一个示例中,", "\W+匹配,因此字符串被分割并且匹配的子字符串被舍弃。

[具有捕获组(在第一种情况下,在分割字符串之后用括号括起来的(\W+),将附加匹配的子字符串。

© www.soinside.com 2019 - 2024. All rights reserved.