Regex 通过正则表达式从文件中获取路径
我想写一个正则表达式从路径中获取as路径信息 输入行将是:Regex 通过正则表达式从文件中获取路径,regex,Regex,我想写一个正则表达式从路径中获取as路径信息 输入行将是: as path: 1 2 3 4.5 6 i (test) 我希望得到:['1','2','3','4.5','6','I'] 我用Python编写了正则表达式: re.findall(r'\b\d*[\.]?\d*\b|\bi\b', line) 但是我没有得到我期望的结果。我的正则表达式怎么了?谢谢大家! 由于第一个备选方案中的所有模式都可以匹配空字符串(?和*可能匹配0个字符),因此第一个备选方案,\b\d*[\.]?\d*\
as path: 1 2 3 4.5 6 i (test)
我希望得到:['1','2','3','4.5','6','I']
我用Python编写了正则表达式:
re.findall(r'\b\d*[\.]?\d*\b|\bi\b', line)
但是我没有得到我期望的结果。我的正则表达式怎么了?谢谢大家! 由于第一个备选方案中的所有模式都可以匹配空字符串(
?
和*
可能匹配0个字符),因此第一个备选方案,\b\d*[\.]?\d*\b
实际上匹配任何单词边界位置
您需要使其至少匹配1位,因此以下各项应按预期工作:
re.findall(r'\b(?:\d+(?:\.\d+)?|i)\b', line)
见
详细信息
-单词边界\b
)-两种备选方案之一:(?:
-1+位\d+
-可选的(?:\。\d+)
和1+数字序列
-或|
-一个i
子字符串i
-备选组结束)
-单词边界\b
re.findall(r'\b(?:\d+(?:\。\d+)?\124; i)\b',行)