假設的例子有兩個字符串:蟒蛇正則表達式:匹配字符串只有一個字符
$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