正则表达式:匹配字符串的模式
通过python给我们提供的re,结合正则表达式,来实现检索、替换和删除、取出子字符串的功能
一、函数:
1、检索、取出
match()
search()
match() 和search() 的区别:
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配,没有匹配到返回None
findall()
finditer()
2、替换和删除
sub()
去除空白字符的方法:
res = re.sub(’\s+’,’’,str)
二、匹配模式:
. 匹配任意一个除了\n以外的字符
.* 匹配任意0次到多次除了\n以外的字符, 默认贪婪模式
.+ 匹配任意1次到多次除了\n以外的字符, 默认贪婪模式
.*? 匹配任意0次到多次除了\n以外的字符, 默认非贪婪模式
.+? 匹配任意1次到多次除了\n以外的字符, 默认非贪婪模式
[] 或
| 或
^ 限制开始
[^] 非
[ \f\r\t\n ] 空白字符
$ 限制结尾
{} 限制匹配次数
特殊字符类:
\d 任意一个数字
\D 任意一个非数字
\s 任意一个空白字符
\S 任意一个非空白字符
\w 任意一个数字字母下划线
\W 任意一个非数字字母下划线
修饰符:
re.I 使匹配对大小写不敏感
re.S 使 . 可以匹配\n在内的任意字符
.* {0,}
.+ {1,}