我有以下表达式,它应该以不区分大小写的方式匹配整个给定的单词。引号是单词的一部分,所以我检查单词之前或之后是否有任何引号。例如,单词“foo”不应匹配文本“foo's”。
word = "foo"
pattern = re.compile(r'(?<![a-z\'])%s(?![a-z\'])' % word,flags=re.IGNORECASE)
例外是三引号,如果单词在它应该匹配的三引号内(旁边):
pattern.search("'''foo bar baz'''")
这次应该找到“foo”,但没有找到,因为这个词前面有一个引号。