[英]Splitting up the digits in python using regex
我正在嘗試在 python 中學習正則表達式。 我遇到了“split”函數,我們必須在其中給出模式和字符串。 我可以理解以下輸出:
a = '123456789'
b = re.split("(4)", a)
print(b)
['123', '4', '56789']
但我無法理解下面的輸出。 為什么“3”沒有在輸出中打印出來? 有人可以解釋一下嗎?
a = '123456789'
b = re.split("\d(4)", a)
print(b)
['12', '4', '56789']
您已經告訴它在\\d(4)
處拆分,因此它會找到與\\d(4)
匹配的字符串的一部分。 那部分是34
, 3
為\\d
和4
為(4)
如果在那里拆分字符串,則會在它前面得到12
在它后面得到56789
。
對於中間部分,您只將4
放入捕獲組: (4)
,因此只會捕獲4
,而不是3
。
為了更好地理解,接下來要嘗試的事情:
\\d4
作為分隔符,沒有任何捕獲組(\\d4)
作為分隔符,包括捕獲組中的 3https://ideone.com/3yCKGF提供的解決方案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.