![](/img/trans.png)
[英]How to split a string AFTER every substring in Regex Python
[英]Python Regex - Split string after every character
你的正则表达式是向后的 - 它应该是任意数量的数字,后跟a
, b
或c
。 另外,我不会使用split
,它返回烦人的空字符串,但是findall
:
>>> re.findall('(\d+[abc])', '12a44b65c')
['12a', '44b', '65c']
如果你能够使用更新的正则表达式模块 ,你甚至可以在零宽度匹配上进行拆分(即使用外观)。
import regex as re
rx = r'(?V1)(?<=[a-z])(?=\d)'
string = "12a44b65c"
parts = re.split(rx, string)
print parts
# ['12a', '44b', '65c']
这种方法在后面查找az
中的一个和一个数字( \\d
)。
原始的re.split()
不允许零宽度匹配,为了兼容性,您明确需要在模式中使用(?V1)
打开新行为。
请参阅regex101.com上的演示 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.