在Rubular,我創建了一個正則表達式:Python和Rubular之間的正則表達式的區別?
推薦:良好的舒適性水平的計算機和一些藝術
(Prerequisite|Recommended): (\w|-|)*
它粗體顯示的一致。
夏天。 2學分。 先決條件: 預大一新生或 指導老師的許可。信用可能不適用於工程學位 。僅限S-U 等級。
這裏是Python中使用正則表達式的:
note_re = re.compile(r'(Prerequisite|Recommended): (\w|-|)*', re.IGNORECASE)
def prereqs_of_note(note):
match = note_re.match(note)
if not match:
return None
return match.group(0)
不幸的是,代碼返回None
,而不是一場比賽:
>>> import prereqs
>>> result = prereqs.prereqs_of_note("Summer. 2 credits. Prerequisite: pre-fres
hman standing or permission of instructor. Credit may not be applied toward engi
neering degree. S-U grades only.")
>>> print result
None
什麼我錯在這裏做什麼?
更新:我需要re.search()
而不是re.match()
嗎?
http://pythex.org/說,即使使用Python的引擎,正則表達式匹配該字符串,所以問題是你如何使用正則表達式(我不知道Python) – Gareth 2010-05-09 22:32:59
此外,個人我會將你的正則表達式更新爲'(先決條件|推薦):([\ w - ] *)',這樣你可以更好地捕獲剩餘的比賽。 (見http://rubular.com/r/5v7u66vc1M) – Gareth 2010-05-09 22:35:26