1.导入模块re
2.正则表达式:记录文本规则的代码
3..匹配字符时 :
匹配:re.match(pattern,string,flags=0) 获取结果:变量.group( )
匹配失败:意为变量.group( )获得到的结果为空:
Attribute Error : 'None Type' object has no attribute'group'
4.匹配单个字符:
.:匹配任意1个字符(除了\n)
[ ]:匹配[ ]中列举的字符
\d:匹配数字,即0-9
\D:匹配非数字
\s:匹配空白
\S:匹配非空白
\w:匹配单词字符(即a-z、A-Z、0-9、_)
\W:匹配非单词字符
5.匹配多个字符:
*:匹配前一个字符出现0次或者无限次
+:匹配前一个字符出现1次或者无限次
?:匹配前一个字符出现1次或者0次
{m}:匹配前一个字符出现m次
{m,n}:匹配前一个字符出现从m到n次
6.匹配开头和结尾:
^:匹配字符串开头
$:匹配字符串结尾
7.匹配分组:
|:匹配左右任意一个表达式
(ab):将括号中字符作为一个分组
\num:引用分组num匹配到的字符串
(?P):分组起别名
(?P=name):引用别名为name分组匹配到的字符串
8.高级应用:
8.1 search:搜索一次
8.2 findall:搜索多次
8.3 sub:替换
8.4 split:切割
9.r的应用:python中字符串前面加上 r 表示原生字符串
10.python中的贪婪和非贪婪:
"*","?","+","{m,n}"后面加上?,使贪婪变成非贪婪
例:.*:使用正则将标签<>替换掉,默认会从头到尾都匹配掉
下一期会进行例子的列举~
网友评论