簡體   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