“ 记录 Python中常用的正则表达式处理函数。”
转义
正则表达式中用“\”表示转义,而python中也用“\”表示转义,当遇到特殊字符需要转义时,需要花费心思到底需要几个“\”,所以为了避免这个情况,可以使用原生字符串类型(raw string)来书写正则表达式,只需要在正则表达式前面加个“r”即可
常用标记
re.I: re.IGNORECASE 忽略正则表达式的大小写,[A-Z]能够匹配小写字符;
re.M: re.MULTILINE 正则表达式中的^操作符能够将给定字符串的每行当做匹配开始;
re.S: re.DOTALL 正则表达式中的.操作符能够匹配所有字符,默认匹配除换行外的所有字符;
re.match 函数
从一个字符串的开始位置起匹配正则表达式,返回一个匹配的对象,否则返回None
函数语法:
re.match(pattern, string, flags=0)
参数说明:
pattren:正则表达式的字符串或原生字符串标识
string:待匹配字符串
flags:正则表达式使用时的控制标记
使用方法:
re.search函数
扫描整个字符串并返回第一个成功的匹配对象,否则返回None
函数语法:
re.search(pattern, string, flags=0)
使用方法:
注:
match()和search()返回的是match对象(即匹配对象),可以通过group()方法获得匹配内容;
group()同group(0)都是匹配正则表达式整体结果,也就是所有匹配到的字符;
如果没有匹配结果时,使用了group()方法,则会报错;
re.match与re.search的区别:
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配(注意:仅仅是第一个)
re.findall函数
搜索字符串,以列表类型返回全部能匹配的子串,如果没有找到匹配的,则返回空列表
函数语法:
re.findall(pattern, string, flags=0)
关于正则表达式中含多个括号时的使用说明:
1、当给出的正则表达式中带有多个括号时,列表的元素为多个字符串组成的tuple,tuple中字符串个数与括号对数相同,字符串内容与每个括号内的正则表达式相对应,并且排放顺序是按括号出现的顺序。
2、当给出的正则表达式中带有一个括号时,列表的元素为字符串,此字符串的内容与括号中的正则表达式相对应(不是整个正则表达式的匹配内容)。
3、当给出的正则表达式中不带括号时,列表的元素为字符串,此字符串为整个正则表达式匹配的内容。
使用方法:
注意:match 和 search 是匹配一次,而findall 匹配所有
re.split函数
将一个字符串按照正则表达式匹配结果进行分割,返回列表类型
函数语法:
re.split(pattern,string,maxsplit=0,flags=0)
参数说明:
maxsplit: 最大分割数,剩余部分作为最后一个元素输出
使用方法:
re.finditer函数
在字符串中返回一个匹配结果的迭代类型,每个迭代元素是匹配对象
函数语法:
re.finditer(pattern, string, flags=0)
使用方法:
re.sub函数
替换字符串中所有匹配正则表达式的地方,返回替换后的字符串
函数语法:
re.sub(pattern, repl, string, count=0, flags=0)
参数说明:
repl: 替换匹配字符串的字符串
string: 待匹配字符串
count: 匹配的最大替换次数
使用方法:
往 / 期 / 文 / 章
python
python | enumerate()、zip()、dict.items()的基本用法
python | json.dumps()、json.loads()、json.dump()、json.load()的使用
测试
MYSQL
如果喜欢我写的文章,长按下面的二维码关注我吧!