預編譯模式

import re

precompiled_pattern = re.compile(r"(\d+)")
matches = precompiled_pattern.search("The answer is 41!")
matches.group(1)
# Out: 41

matches = precompiled_pattern.search("Or was it 42?")
matches.group(1)
# Out: 42

編譯模式允許稍後在程式中重用它。但是,請注意 Python 快取最近使用的表示式( docsSO 答案 ),因此 一次只使用幾個正規表示式的程式不必擔心編譯正規表示式

import re

precompiled_pattern = re.compile(r"(.*\d+)")
matches = precompiled_pattern.match("The answer is 41!")
print(matches.group(1))
# Out: The answer is 41

matches = precompiled_pattern.match("Or was it 42?")
print(matches.group(1))
# Out: Or was it 42

它可以與 re.match() 一起使用。