📅  最后修改于: 2023-12-03 15:40:38.264000             🧑  作者: Mango
正则表达式是一种用于匹配字符串的模式语言,可以在Python中使用re模块来实现。findall()是re模块中最常用的函数之一,用于匹配字符串中所有符合模式的子串,并以列表的形式返回。
re.findall(pattern, string, flags=0)
参数说明:
下面是一个简单的示例,用于从字符串中提取所有数字:
import re
string = 'The price is $42.50.'
pattern = '\d+'
result = re.findall(pattern, string)
print(result) # ['42', '50']
在上面的示例中,使用\d+
作为正则表达式,它表示匹配一个或多个数字。$
字符在正则表达式中有特殊含义,表示字符串结尾,所以需要使用\
进行转义。
findall()函数的第三个参数flags可以用于指定匹配模式,常用的匹配模式包括:
re.IGNORECASE
:忽略大小写。re.MULTILINE
:多行模式,使^
和$
匹配每行字符串的开头和结尾。re.DOTALL
:点(.)匹配所有字符,包括换行符。例如,下面的例子演示了如何使用多行模式匹配字符串中的所有行:
import re
string = 'line1\nline2\nline3\n'
pattern = '^line\d+'
result = re.findall(pattern, string, re.MULTILINE)
print(result) # ['line1', 'line2', 'line3']
本文介绍了Python中正则表达式findall函数的基本用法和常见匹配模式。使用正则表达式可以方便地从字符串中提取需要的信息,对于一些文本处理的场景非常有用。