繁体   English   中英

分割字符串时以正则表达式模式括住括号

[英]Parentheses in regular expression pattern when splitting a string

我想知道以下行为的原因:

>>> re.compile("(b)").split("abc")[1]
'b'
>>> re.compile("b").split("abc")[1]
'c'

我似乎在拆分模式周围加上括号时,将其重新添加到拆分数组中。 但为什么? 它是一致的东西,还是仅仅是正则表达式的孤立功能。

根据文档 ,这是re.split的功能:

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

通常,括号表示捕获组,并用于提取字符串的某些部分。 阅读有关捕获组的更多信息。

在任何正则表达式中,括号表示捕获组。 捕获组通常用于从匹配的字符串中提取值(结合re.matchre.search )。 有关详细信息,请参阅官方文档 (搜索(...) )。

re.split将匹配的组添加到re.split值之间:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM