Python难点之正则表达式
常用标记
. 匹配任意字符,换行符除外
\w 代表任意字符数字或下划线
\d 代表数字
\s 代表空白字符
^ 匹配行开头
$ 匹配行末尾
* 匹配任意次
+ 匹配一次或以上
? 匹配零次或一次
| 表示或
[ ] 字符组
[^ ] 排除字符组
{m,n} 重复m到n次
常用方法
re.match(pattern, string, flags=0)
从字符串的起始位置匹配,返回一个匹配对象,匹配失败则返回None
可以用group(num=0) 来获取匹配的子字符串内容
re.search(pattern, string, flags=0)
匹配第一个匹配正则表达式的子字符串,返回一个匹配对象,匹配失败则返回None
可以用group(num=0) 来获取匹配的子字符串内容
re.findall(pattern, string, flags=0)
匹配所有匹配正则表达式的子字符串,返回一个列表
re.sub(pattern, repl, string, count=0, flags=0)
repl表示要替换成的字符串,也可以是一个函数,输入匹配正则表达式的内容,替换成函数的返回值
re.split(pattern, string[, maxsplit=0, flags=0])
分割,返回一个列表
re.compile(pattern[, flags])
生成一个正则表达式对象,可以多次使用,避免每次都对正则表达式进行解析,加快程序运行速度
再用这个正则表达式对象调用re的方法,不用再填写pattern参数
flags参数
re.A \w不匹配汉字
re.I 不区分字母大小写
re.S .匹配换行