我正在文本中搜索确切的课程代码。代码如下所示
MAT1051
CMP1401*
PHY1001*
MAT1041*
ENG1003*
所以3或4个大写字母后面跟着4个数字。
我只想要那些不以"*"符号结尾的。
我试过了
course_code = re.compile('[A-Z]{4}[0-9]{4}|[A-Z]{3}[0-9]{4}')
这可能是最糟糕的方法之一,但有点工作,因为我可以得到上面列出的所有课程。问题是,我不希望这3个课程代码以"*"结束(失败的课程有一个 * 旁边的代码)被列入名单。
我试着在表达式的末尾添加\w或$,无论添加哪一个,代码都返回一个空列表。
2条答案
按热度按时间sr4lhrrt1#
如果我没有理解错您的需求,您需要以下模式:
这里假设你要在多行模式下使用正则表达式搜索存储在Python字符串中的整个文本,参见这个演示:
sh7euo9m2#