目录
0.关于正则表达式
1.什么是正则表达式
描述了一种字符串匹配的模式,对符合某种规律的字符串的匹配和验证
2.正则表达式的使用场景
#当有简单的方法时,可以不使用正则表达式
3.正则的目的
4.正则的优缺点
1.re模块基本用法
从文本中匹配某些子串
1.search
接受一个正则表达式和字符串,并返回发现的第一个匹配
如果完全没有找到匹配,re.search返回None
2.match
定义
接受一个正则表达式和字符串,从主串第一个字符开始匹配,并返回发现的第一个匹配
如果字符串开始不符合正则表达式,则匹配失败,re.match返回None
match.group(default=0)
group是由于正则表达式可以分拆为多个只调出匹配子集的子组
0是默认参数,表示匹配的整个串,n 表示第n个分组
match.start()和match.end() 返回原始字符串开始和结束的索引
match.groups()
groups返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。
3.raw
原始字符串与正常字符串的区别是原始字符串不会将\字符解释成一个转义字符
#运行此语句,python解释器会转义一次,正则表达式内部还会转义一次,使用"r"获取原始字符串
4.findall
查找并返回所有匹配的字符串,返回一个列表
5.finditer
查找并返回匹配的字符串,返回一个迭代器
6.sub
将string中匹配的内容替换为新内容
re.sub('匹配正则','替换内容','string')
7.compile
编译正则:re.compile('匹配正则')
#其实并没有什么卵用
2.基本正则匹配
1.区间 []
2.或 |
3.取反 ^
4.任意字符 .
匹配任何(除\n外)的单个字符,它仅仅只以出现在方括号字符组以外
5.快捷方式
6.开始与结束 ^, $
开始
结束
3.正则重复
?表示匹配前一项0次或者1次
+表示匹配前一项至少1次
*表示匹配前一项任意次
{n,m}表示匹配n到m次 --》最长匹配
贪婪匹配和非贪婪匹配