正则表达式(regular expression)是一种字符串匹配的模式(pattern)。它可以检查一个字符串是否含有某种子串;替换匹配的子串;提取某个字符串中匹配的子串。
# 导入正则模块 import re # 字符匹配 rs = re.findall('abc', 'adc') print(rs) rs = re.findall('a.c', 'abc') print(rs) rs = re.findall('a.c', 'a c') print(rs) rs = re.findall('a.c', 'a.c') print(rs) rs = re.findall('a.c', 'a.c') print(rs) rs = re.findall('a.c', 'abc') print(rs) rs = re.findall('a[bc]d', 'abd') print(rs) rs = re.findall('a[bc]d', 'acd') print(rs) # 预定义的字符集 rs = re.findall('d', '123') # w 匹配 下划线 字母 中文 rs = re.findall('w', 'Az123_中文$%') #数量词 rs = re.findall('d*', '123')
扫描整个string字符串,返回所有与pattern匹配的列表
-
pattern:正则表达式
-
string:string字符串中查找
-
flags:匹配模式
import re # 1.findall方法,返回匹配的结果列表 rs = re.findall('d+', 'gazikel23Zihoo98') print(rs) # 2.findall方法中,flag参数的作用 rs = re.findall('a.bc', 'a bc', re.DOTALL) rs = re.findall('a.bc', 'a bc', re.S) print(rs)
如果正则表达式中有()中匹配的内容列表,小括号两边的东西都是负责提取数据所在位置。
# 3.findall方法中分组的使用 rs = re.findall('a(.+)bc', 'a bc', re.DOTALL) # [' '] print(rs)
正则中使用r原串,能够忽略转义符号带来的影响
将匹配的字符串中有多少个,r原串正则中就添加多少个即可。