Python []中的正则表达式捕获组
我想使用python中的正则表达式提取所有看起来可能表示距离范围的数字Python []中的正则表达式捕获组,python,regex,Python,Regex,我想使用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'] 如何修改此选项以获得所需的结果?您可以省略外部捕获组,并使用一个单独的替代选项,将非捕获组用于to或-: 输出 ['3 to 6 km', '
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']
如何修改此选项以获得所需的结果?您可以省略外部捕获组,并使用一个单独的替代选项,将非捕获组用于to或-: 输出
['3 to 6 km', '3 - 6 km']
使用\d+?:到|-\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']