正则
- 正则的使用场景
- 数据提取,数据清洗
- 数据校验
- re模块的导入及使用
import re
ret = re.match("正则表达式", “匹配的字符串”)
ret.group()
-
正则表达式匹配单个字符
. 任意一个字符,换行除外 [] 列举的字符 \d 数字 \D 非数字 \s 空格 \S 非空格 \w 单词 \W 非单词
-
匹配多个字符串
{m} 前一个字符出现m次 {m,n} 前一个字符出现m到n次之间 * 0个或多个 ? 0个或一个 + 一个或多个
-
匹配开头和结尾
^ 开头 $ 结尾
-
匹配分组的使用
| 匹配左右任意一个表达式 () 将括号中的字符作为一个分组 \num 引用分组num匹配到的字符串 (?P<name>) 分组起别名 (?=name) 引用别名为name分组匹配到的字符串
-
re高级函数findal , sub, search的使用
search() 查找,找到一个就返回 findall() 查找所有,返回列表 sub 查找替换 split 分离字符串
-
贪婪和非贪婪
默认是贪婪的 *\ + \?\{m, n} 后面加?变成非贪婪
-
字符串前面添加r的作用
解决反斜杆问题\ 在正则表达式前加r: 表示原生字符串 ret=re.match(r"<(\w+)>.*</\\1>","<h1>dsafagd</h1>") ret=re.match(r"<(\w+)>.*</\1>","<h1>dsafagd</h1>")
网友评论