import re
text = "我去臺中10天9夜,我去臺中10天九夜"我有这样的短信。
res = re.findall(regex, text)
print(res)
# ["10天9夜", "10天九夜"]我想用正则表达式得到这样的结果。我怎么才能拿到这个?
如果我想计算["10天9夜"],我可以使用re.findall("\d+\天\d+\夜", text),但它只匹配一个。
发布于 2022-10-11 10:51:40
我建议用
re.findall(r'(?:\d+[^\W\d_]+)+', text)请参阅regex演示,此模式匹配一个或多个连续的数字序列,然后匹配字母。
详细信息
(?: -开始一个“容器”,一个非捕获组\d+ -一个或多个数字[^\W\d_]+ -一个或多个字母)+ -组的末尾,重复一次或多次.https://stackoverflow.com/questions/74026745
复制相似问题