为什么正则表达式离开

时间:2016-05-04 05:58:13

标签: python regex

我正在努力学习正则表达式。我在教程中遇到了来自sentdex youtube频道的代码。

import re

ExampleLine = "prices xom 91.43-91.44/vz50-50.01/s 7.23-7.24"
regex = re.findall(r"\w{1,3}\s?\d{1,2}\.?\d{0,2}-\d{1,2}\.?\d{0,2}", ExampleLine)
print(regex)

打印:

['xom 91.43-91.44', 'vz50-50.01', 's 7.23-7.24']

我得到匹配的模式。我没有理解的是为什么ExampleLine中的价格没有得到匹配?如何跳过?

提前感谢..

1 个答案:

答案 0 :(得分:3)

你的正则表达式是

\w{1,3}\s?\d{1,2}\.?\d{0,2}-\d{1,2}\.?\d{0,2}

表示匹配集合[A-Za-z0-9_]中的1到3个字符。

\w ==> [A-Za-z0-9_]

这个集合不包含任何空格(即使它已经包含,至少对于这个例子也没有任何影响。)

所以匹配

xom 91.43-91.44

并遗漏prices

您可以将其显示为 here