正则表达式匹配单个字符
. 匹配任意一个字符(除了\n回车)
[ ] 匹配[]中列举的字符
\d 匹配数字,0-9
\D 匹配非数字,即不是数字
\s匹配空白,即空格 tab键
\S匹配非空白
\w 匹配单词字符,a-z,A-Z,0-9,_
\W 匹配非单词字符
re模块的使用过程
# 导入re模块
import re
# 使用match方法进行匹配操作
result = re.match(正则表达式,要匹配的字符串)
# 如果上一步匹配到数据的话,可以使用group方法来提取数据
result.group()
正则表达式匹配多个字符
{m}匹配前一个字符出现m次
{m,n}匹配前一个字符出现m-n次
?匹配前一个字符出现0次或1次,即要么有1次,要么没有
*匹配前一个字符出现0次或者无限次,即可有可无
+匹配前一个字符出现1次或者无限次,即至少有1次
^以xxx开头
$以xxx结尾
\转义 \n换行 \t制表符 ?出现0次或1次
匹配分组
|匹配任意一个左右的表达式
(a|b )匹配任意一个组,将括号中的字符内容作为一个分组
\num 可以匹配到分组对应的字符串
Re模块的高级用法
match从头开始匹配;
search不是从头开始匹配 re.search(r”\d+”,”html_str”)
findall 统计全部,返回值就是列表 re.findall(r”\d+”,”python=999,java=888,c++=123456”)
sub 将匹配到的数据进行替换 re.sub(r”\d+”,”1111”,”html_str”)
应用于爬虫爬下来的网页,清洗标签,空白符等一些东西,只剩纯净的数据做展示用
r的作用:表示原生的字符串
eg:获取目录的时候C:\a\b\c \要转义,1个变2个,2个变4个,C:a\b\c匹配要转义的内容