[英]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.