在 Rubular 中,我创建了一个正则表达式:
(Prerequisite|Recommended): (\w|-| )*
它匹配粗体:
推荐:计算机和一些艺术的良好舒适度。
夏天。2 学分。先决条件:大一新生资格或导师许可。学分可能不适用于工程学位。仅 SU 成绩。
这是 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()
吗?