re
re 代表的是 正则表达式
正则表达式可以包含特殊和普通字符
特殊字符:用来通配
普通字符:用来简单的匹配自己
模块
re.compile(r'') 将正则封装成对象
compile() 将自己封装成一个对象,留给后面的search、match使用
后面参数添加 re.IGNORECASE 执行不区分大小写的匹配
re.DEBUG 显示调试信息编译的正则表达式
re.search 扫描字符串 寻找第一个由正则表达式产生的位置返回
re.split(r'',) 将正则作为匹配的分隔符
* re.findall 从左到右匹配 从左到右依次返回匹配的字符串
* re.match() 从开始位置匹配 失败返回None 需要group()
group() 返回match对象一个或者多个数组
groups() 返回match匹配的一个元组对象
语法:
. 匹配除换行以外任意字符
^ 默认匹配字符串的起始位置
$ 默认从字符串的末尾位置向前匹配
* 匹配前面出现的正则表达式零次或多次 非贪婪
+ 匹配前面出现的正则表达式 至少一次 贪婪
? 匹配前面出现的正则表达式 零次or一次 非贪婪
{3} 精准匹配前面出现的字符3次
{3,5} 匹配前面出现的字符 3次到5次
\ 对任一特殊字符进行转义
[a,m,k] {
用来匹配一个字符合集,
可以这样写 [A-Z],[0-9],[a-z]
在集合内部,特殊字符将失去特殊的意义
可以通过转义是特殊字符存在意义[\w]
}
A|B A或者是B
( ) 显示在圆括号内的正则匹配内容
(?<=e)\w 在以匹配hello为例中,这个正则表达式代表的是匹配l
\d 匹配数字
\D 匹配所有非数字
\s 匹配所有换行,空格
\S 匹配所有非换行 空格
\w 匹配所有字符 不包含标点符号换行等
\W 匹配所有非字符
\Z 放在末位 标识末位 在我看来等同$