findall

findall函数能处理多行文本吗

小樊
83
2024-12-07 16:58:44
栏目: 编程语言

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 来查找从 line1line3 的所有内容(包括换行符)。

0
看了该问题的人还看了