Python regex为何离开
我想学regex。我在教程中遇到了这段代码,这段代码来自sentdex youtube频道Python regex为何离开,python,regex,Python,Regex,我想学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.0
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']
我得到了匹配的模式。我无法理解的是,为什么示例行中的价格不匹配?这是怎么被跳过的
提前感谢。您的正则表达式是
\w{1,3}\s?\d{1,2}\.?\d{0,2}-\d{1,2}\.?\d{0,2}
这意味着集合中的1到3个字符之间的匹配[A-Za-z0-9_33;]
\w ==> [A-Za-z0-9_]
此集合不包含任何空格(即使它包含空格,至少在本例中不会有任何效果)
所以它是匹配的
xom 91.43-91.44
而不考虑价格
您可以将其可视化,因为
price
后面没有IP地址或数字或其他任何东西。为什么您认为“价格”应该匹配?我对reg ex的许多基本概念中的一个有误。我认为它将遍历整个字符串,从字符串中的第一个字符开始查找匹配项。我错了。我现在看到它将根据我们编写的reg ex进行匹配。