繁体   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