Python re.compile() 函数用于把正则预编译成对象,复用提升性能。
语法
re.compile(pattern, flags=0)参数
pattern:正则表达式。可选 flags:匹配标志,如 re.IGNORECASE。
返回值
返回预编译的 Pattern 对象,可反复调用其 search/findall/sub 等方法。
示例
import re
# 预编译
pattern = re.compile(r"\d{3}-\d{4}")
print(pattern.findall("电话 123-4567, 999-8888"))
# ['123-4567', '999-8888']
# 编译对象的方法和模块函数一致
text = "abc123def456"
pat = re.compile(r"\d+")
print(pat.findall(text)) # ['123', '456']
print(pat.search(text).group()) # 123
# 标志:忽略大小写
pat_i = re.compile(r"hello", re.IGNORECASE)
print(pat_i.findall("Hello HELLO hello")) # ['Hello', 'HELLO', 'hello']注意事项
多次使用同一正则时 compile 一次复用更高效。flags 如 re.IGNORECASE 控制匹配行为。