我正在使用正則表達式在Python中編寫一個程序。我有麻煩,因爲我認爲應該匹配一個字符串的表達式不會這樣做。這是再現我的問題的Python代碼:在Python中的正則表達式不mach字符串(但它在檢查rubular時確實)
regex = re.compile(r"ord(er)? *0?([1-4])", re.I)
m = regex.match("CMord01")
m的計算結果爲FALSE。 我非常想知道爲什麼。 我檢查了http://rubular.com/,並且表達式與預期的字符串匹配。 謝謝!
使用'regex.search()'而不是'regex.match()'。請參閱Python文檔中的['search()vs. match()'](http://docs.python.org/2/library/re.html#search-vs-match)。 – Aya
在你的expresion中,字符串的開頭應該是ord。它不包括* CM *。你可能想要在你的正則表達式中加上'。*'。 –
@MarekKowalski明顯會起作用,但隨後所有這些垃圾角色都會作爲比賽的一部分返回。根據他們計劃對比賽做什麼,這可能會使事情變得很髒/複雜 – acattle