正则表达式:用来简洁表达一组字符串的表达式
一、正则表达式的语法——操作符
二、Re库
1.Re库简介
Re库是python的标准库,主要用于 字符串匹配
Re库采用 raw string类型(原生字符串类型)表达正则表达式:r'text'
原生字符串与字符串的区别:原生字符串不包含 转义符
2.Re库的主要函数
(1) re.search( pattern, string, flags = 0)
- pattern:正则表达式的字符串或原生字符串表示
- string:待匹配的字符串
- flags:正则表达式使用时的标记,有3种常用标记,如下:
(2) re.match( pattern, string, flags = 0)
(3) re.findall( pattern, string, flags = 0)
(4) re.split( pattern, string, maxsplit = 0,flags = 0)
- maxsplit:最大分割数,剩余部分作为最后一个部分输出
(5) re.finditer( pattern, string, flags = 0)
(6) re.sub( pattern, repl,string, count =0, flags = 0)
- repl:替换匹配字符串的字符串
- count:匹配的最大替换次数
3.Re库函数的两种等价用法
(1)函数式用法:一次性操作
import re
match = re.search(r'[1-9]\d{5}', 'HZ 310006 310004' )
print(match.group(0))
(2)面向对象用法:编译后的多次操作
import re
regex = re.compile(r'[1-9]\d{5}')
match = regex.search( 'HZ 310006 310004' )
print(match.group(0))
注:regex = re.compile(pattern, flags = 0) 将正则表达式的字符串形式编译成正则表达式对象
两种方法的对应关系如下:
4.match对象
re.search() 、regex.search() 等函数返回了match对象,match对象是一次匹配的结果,包含匹配的很多信息
(1)match对象的属性
(2)match对象的方法
5.Re库的贪婪匹配和最小匹配
(1)Re库默认进行贪婪匹配,输出匹配最长的子串。
(2)最短匹配,输出匹配最短的子串,在正则表达式中加 ?即可采用最小匹配