簡體   English   中英

使用正則表達式拆分python中的數字

[英]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)匹配的字符串的一部分。 那部分是343\\d4(4)

如果在那里拆分字符串,則會在它前面得到12在它后面得到56789

對於中間部分,您只將4放入捕獲組: (4) ,因此只會捕獲4 ,而不是3

為了更好地理解,接下來要嘗試的事情:

  • 使用\\d4作為分隔符,沒有任何捕獲組
  • 使用(\\d4)作為分隔符,包括捕獲組中的 3

https://ideone.com/3yCKGF提供的解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM