findall()
函数是 Python 中的正则表达式库 re
提供的一个方法,用于在字符串中查找所有与正则表达式匹配的子串。它可以处理多行文本,但需要确保在调用 findall()
时使用正确的标志来启用多行模式。
要在多行模式下使用 findall()
,需要在正则表达式字符串前加上 (?s)
。这将使 .
字符匹配任何字符,包括换行符。以下是一个示例:
import re text = '''line1 line2 line3''' pattern = r'(?s)line1.*line3' result = re.findall(pattern, text) print(result) # 输出:['line1\nline2\nline3']
在这个例子中,我们使用了 (?s)
标志来启用多行模式,然后使用正则表达式 line1.*line3
来查找从 line1
到 line3
的所有内容(包括换行符)。