1

我有以下内容:

rule = "http://www.abc.com/"
test = "http://www.abc.com/test"
print(str(re.compile(rule).match(test)))

我希望它输出 None 但它返回一个匹配项。如何更改规则变量以使正则表达式返回 None?

4

2 回答 2

2

如果您想比较完整的字符串,我认为您在这里不需要正则表达式。如果我误解了你,请纠正我。:)

可能此代码将是有用的:

rule = "http://www.abc.com/"
test = "http://www.abc.com/test"
print(rule == test)

False如果字符串不同则返回,True否则返回。

于 2012-05-10T10:59:42.293 回答
2

字符匹配字符串的^开头,并$匹配字符串的结尾。所以你会想要:

rule = "^http://www\.abc\.com/$"
test = "http://www.abc.com/test"
print(str(re.compile(rule).match(test)))

请注意,这.意味着“匹配任何字符”,所以如果你想匹配一个实际的.你需要\它之​​前的。

于 2012-05-10T11:02:42.457 回答