我做错什么了吗,还是在带有IGNORECASE标志的Python中搜索已编译的正则表达式时出现以下行为?奇怪的行为是,看起来我在编译正则表达式时必须定义IGNORECASE
,但是在搜索已编译的正则表达式时不能使用IGNORECASE标志。
import re
regex_string = "test"
assert re.search(regex_string, "test")
assert re.search(regex_string, "TEST", re.IGNORECASE)
regex = re.compile(regex_string, re.IGNORECASE)
assert regex.search("test")
assert regex.search("TEST")
#assert regex.search("TEST", re.IGNORECASE) # appears logical but fails
regex2 = re.compile(regex_string)
assert regex2.search("test")
#assert regex2.search("TEST", re.IGNORECASE) # appears logical but fails
答案 0 :(得分:1)
查看python re
模块的文档: