1. 查找:
findall(pattern,string,flags=0)
pattern: 指定需要匹配的正则表达式
string: 指定待处理的字符串
flags: 匹配模式,默认为0
2:替换
sub(pattern,repl,string,count=0,flags=0)
pattern: 同findall函数中的pattern
repl: 指定替换成的新值
string: 同findall中的string
count: 用于指定最多替换的次数,,默认为全部替换
flags: 同findall函数中的flags
3. 分割
split(pattern,string,maxsplit=0,flags=0)
pattern: 同findall函数中的pattern
maxsplit: 用于指定最大分割次数,默认为全部分割
string: 同findall中的string
flags: 同findall函数中的flags
pattern:
匹配字符:
- 原字符:
- 英文状态下点号. : 任意字符,字母,数字标点符号和汉字
- 反斜杠\ : 转义字符, \n 换行 \t tab 键 \d 数字 \w 字母数字和下划线 \. 句号点本身
- 英文状态下中括号[]: 指代字符集合,匹配特定集合内的字符
- 英文状态下的圆括号() : 截取括号里面的内容, 如下图所示,不加括号时显示age:3, 加括号时只显示匹配的内容3
匹配次数:
- * :匹配前一个字符0次及以上
- ?: 前一个字符匹配0次或1次
- +: 匹配前一个字符一次及以上
- {m} 前一个字符匹配m次
- {m,n} 前一个字符匹配m到n次
- {m,} 前一个字符至少匹配m次
- {,n} 前一个字符至多匹配n次
示例:
1. 匹配电话号码,1开头,第二位是356789任意一个,后面跟9位数字
2. 找出所有包含奶粉的
3. 匹配区号,0开头,后面两到三位数字