>>> pattern = re.compile(r'(.*)\\\\(.*)\\\\(.*)')
>>> m = re.match(pattern, 'string1\string2\string3')
>>> m
>>>
>>> m.groups
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'groups'
我想在上面的正則表達式中匹配以下格式的字符串:string1\string2\string3
。Python不匹配正則表達式
以上是Python的輸出。爲什麼它沒有返回適當的正則表達式對象?我的模式有什麼問題嗎?
作爲一個附註,你可能想'pattern.match(s)',而不是're.match(pattern,s)'。如果您使用(未編譯)字符串作爲模式,則只需要後者。這確實發生了,但沒有記錄。 – abarnert 2013-02-26 20:02:16
更重要的是:'re.match'不返回正則表達式對象。它返回匹配對象(在CPython 2.7中鍵入'_sre.SRE_Match'),如果匹配,則返回'None'(如果沒有匹配)。 – abarnert 2013-02-26 20:03:14