我是正则表达式的初学者,遇到了一个问题但没有找到解决方案,所以假设我有一个字符串 ab123cd456
,我正在尝试找到一个可以提取的正则表达式文本直到最后一个数字(如果有的话)和数字本身所以提取的结果将是 ["ab123cd", "456"]
\d+$
但我无法表达提取 ab123cd
我试过 .*(?=\d+$)
提取 ab123cd45
这对我来说很奇怪,因为 +
是一个贪婪的表达式
请注意,我需要一个表达式来完成任务
最佳答案
你需要有一个非贪婪的匹配作为第一个:
import re
lines = ["abc12cd1234"]
for line in lines:
mre = re.match(r'(\w+?)(\d+)$', line)
if mre:
print mre.groups()
将打印:
('abc12cd', '1234')
关于正则表达式,提取字符串末尾的单词和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62923196/