我想使用python中的正则表达式提取所有看起来可能表示距离范围的数字。
s = "3 to 6 km. 3 - 6 km"
re.findall(r'(\d [(to)|\-] \d km)', s)
# desired result ['3 to 6 km', '3 - 6 km']
# result: ['3 - 6 km']
我如何修改它以获得所需的结果?
您可以省略外部捕获组,并对至
或-
使用非捕获组进行单个替换:
\d+ (?:to|-) \d+ km
正则表达式演示
import re
s = "3 to 6 km. 3 - 6 km"
print(re.findall(r'\d+ (?:to|-) \d+ km', s))
输出
['3 to 6 km', '3 - 6 km']