0
我在下面給出的代碼中寫入了匹配包含所有數字的固定長度爲10的字符串。Python正則表達式匹配不起作用
import re
result=re.match("^d{10}$", u"5478512045")
但它返回無。我不知道它爲什麼失敗。如果我在這裏做錯任何事,請糾正我。
我在下面給出的代碼中寫入了匹配包含所有數字的固定長度爲10的字符串。Python正則表達式匹配不起作用
import re
result=re.match("^d{10}$", u"5478512045")
但它返回無。我不知道它爲什麼失敗。如果我在這裏做錯任何事,請糾正我。
控制字符d
上缺少轉義\
。它應該是:
result=re.match("^\d{10}$", u"5478512045")
沒有\
的d
之前,你的正則表達式試圖匹配一個d
字符串。通過將其更改爲\d
,您可以與任何十進制數字的特殊字符匹配。
謝謝馬克。我現在獲取返回值爲「<_sre.SRE_Match對象在0x02A27138>」。請告訴我如何檢查它是否通過或失敗。 – gliese581g
'result.group()'將打印匹配結果。然而,你有'<_sre.SRE_Match對象在0x02A27138>'的事實,但是意味着你有一個匹配。 – danasilver
@ dsilver1221是正確的。你得到一個對象的事實意味着你有一個匹配。獲得'無'返回(像以前一樣)意味着不匹配。查看're'模塊的文檔(http://docs.python.org/2/library/re.html#re.match),它非常全面。 –