1. re模块介绍
正则表达式是一个特殊的字符序列,用于检查一个字符串是否与某种模式匹配。re模块是Python中用于正则表达式操作的内置模块。它提供了一系列函数和方法,用于进行字符串匹配、搜索、替换以及其他与正则表达式相关的操作。
上图为re模块中所有相关的函数,下文将着重介绍常用的几类函数。
2. re.match函数
re.match用于尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none,匹配成功re.match方法返回一个匹配的对象。可以使用group()方法来获取匹配到的字符串。
Pattern:匹配的正则表达式
String:要匹配的字符串
Flag:标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。
1:re.I 忽略大小写
2:re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
3:re.M 多行模式
4:re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
5:re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
6:re.X 为了增加可读性,忽略空格和 # 后面的注释
例:
3. re.search函数
re.search 扫描整个字符串并返回第一个成功的匹配,如果没有匹配,就返回一个 None。其与re.match的区别是re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。
例:
4. re.compile函数
该函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。
例:
5. re.findall函数
re.findall用于在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
例:
6. re.split函数
re.split用于根据匹配切割字符串,并返回一个列表
例: