我一直在尝试很多很多模式,但我必须面对正则表达式和我相处得不太好的事实。
我的问题是这样的:我必须找到一个字符串是否包含一个特定的单词后跟一个未知数量的空格后跟罗马数字。
我在regex101网站上试过这个并且它运行得很好:
"\b((chapter|chap\.)[\s]+[IVXLCDM]+\b)"
但是,由于一些神秘的原因,它不适用于我的shell和代码(python 3.5.1):
import re
pattern = re.compile("\b((chapter|chap\.)[\s]+[IVXLCDM]+\b)", re.IGNORECASE)
test = "this is Chapter I bla bla"
re.findall(pattern, test)
>>>[]
我错过了什么吗?