假设的例子有两个字符串:蟒蛇正则表达式:匹配字符串只有一个字符
$1 off delicious ham.
$1 off delicious $5 ham.
在Python,我可以有一个,只有一个$字符串中匹配时,一个正则表达式?也就是说,我希望RE能够匹配第一个短语,而不是第二个短语。我试过类似的东西:
re.search(r"\$[0-9]+.*!(\$)","$1 off delicious $5 ham.")
..saying“匹配的地方你看到一个$,其次是任何东西,除了另一个$”。 $$示例中没有匹配,但在$示例中也没有匹配。
在此先感谢!对于检查
简单的测试方法:
def test(r):
s = ("$1 off $5 delicious ham","$1 off any delicious ham")
for x in s:
print x
print re.search(r,x,re.I)
print ""
为什么不使用字符串的'.count()'方法? – 2010-07-02 14:37:10
我很喜欢把一个RE放入一个不让我添加任何额外逻辑的工具。所以我不能做“如果计数(str,”$“)> 1:通过”。我需要重新匹配这样的字符串。 – Chris 2010-07-02 14:52:38