I can\'?t (.*)
Python的正則表達式零次或多次發生
我的正則表達式是上述形式。但是,如果給它的字符串如果str =「我不能」,這是行不通的後t
re.compile(r'I can\'?t (.*)').match(str)
結束我的匹配對象不匹配。但是如果str =「我不能使用」,它就會工作(匹配返回一些東西)。
I can\'?t (.*)
Python的正則表達式零次或多次發生
我的正則表達式是上述形式。但是,如果給它的字符串如果str =「我不能」,這是行不通的後t
re.compile(r'I can\'?t (.*)').match(str)
結束我的匹配對象不匹配。但是如果str =「我不能使用」,它就會工作(匹配返回一些東西)。
您的t
後留下的強制性空間。刪除它,你會被罰款:
I can\'?t(.*)
還要注意的是,如果你想使用第一個捕獲組的內容,如果不是你可以安全地刪除它們括號內是唯一有用的。
對於您可以這樣做:
re.compile(r'I can\'?t.*').match(str)
這將匹配"I can't"
與其他一些文字下面,或只是"I can't"
這裏的變化是無關緊要的:'。*'將永遠匹配,即使它是一個空字符串。通過把它作爲第一選擇,你確保'''永遠不會被使用。 – Robin
@Robin,謝謝。我已經更新了我的答案。 – sshashank124
這是問題所在。 – laike9m
@ laike9m:很高興能幫到你。如果一個答案完全解決了您的問題,請記住將其標記爲已接受以解決問題,並且您很好。 – Robin
hahahaha我不是OP – laike9m