本文主要介绍Python编程的Re模块下的函数介绍,挺不错的。想分享给大家,供大家参考,希望能帮到你。
目录
Python —— re模块介绍预定义字符匹配方法总结特殊字符反斜杠问题
Python——re模块
简介
定义:re模块称为正则表达式;
作用:创建‘规则表达式’来验证和查找符合规则的文本,广泛应用于各种搜索引擎、账号密码验证等。
预定义字符
'''
\d匹配所有十进制数字0-9。
\D匹配所有非数字,包括下划线。
\s匹配所有空白字符(空格、制表符等。)
\S匹配所有非空白字符,包括下划线。
\w匹配所有字母、中文字符和数字a-z A-Z 0-9
\W匹配所有非字母、中文字符和数字,包括下划线。
'''
特殊字符
1、$:匹配行尾(必须放在正则表达式的末尾)
2、^:匹配行首(必须放在正则表达式的前面)
3、*:前的字符可以出现0次或多次(0~无限制)。
4、+:之前的字符可以出现一次或多次(1~不限)。
5、?:将‘贪婪模式’改为‘勉强模式’,前面的字符可以出现0次或1次。
6、.:匹配除换行符' \n '以外的任何单个字符
7、|:两个项目都匹配。
8、[]:代表一个集合,有以下三种情况
【abc】:可以匹配单个字符。
【a-z0-9】:可以匹配指定范围的字符,可以倒置(前面加“在”)。
[2-9] [1-3]:能够进行组合匹配
9、{ }:用于标记前面字符出现的频率。有以下几种情况:
{n,m}:表示第一个字符至少出现n次,最多出现m次。
{n,}:表示第一个字符至少出现n次,最多无限制。
{,m}:表示前面的字符最多出现N次,至少是无限的。
{n}:前面的字符必须出现n次。
反斜杠问题
如果字符串中有反斜杠,需要对反斜杠进行转义:
str='\\123 223'# \123 223
str=r'\123 223'# \123 223
在正则表达式中,我们需要匹配一个反斜杠和多个反斜杠:
find=re.search('\\\\\w ',str)
find=re.search(r'\\\w ',str)
匹配方法
1、match:匹配目标文本的开头
Find=re.math('hello ',str1)#匹配成功返回匹配对象hello,不成功返回None。
2、search:匹配整个目标文本
3、findall:扫描整个目标文本,并返回匹配规则的所有子字符串的列表,如果没有匹配,则返回空列表。
4、finditer:扫描整个目标文本,并返回一个由所有匹配规则的子字符串组成的迭代器。
5、fullmatch:要求目标文本与规则完全匹配,否则返回None。
6、sub:用其他文本替换匹配规则的子字符串
1=str=re sub(' \ w ',' AAA ',str,count=0) # count默认为0,表示完全替换。
7、split:从符合规则的子串中切割,切割后返回子串列表。
8、匹配对象的方法(用于匹配的对象):
():分组字符,可以对匹配的内容进行分组,快速获取分组中的数据。
分组:用于查看指定分组匹配的内容。
Str='p这是a href=' # # '文本/a/p。
find=re.search('a href='(。)'(\w )/a ',str)
Print(find.group())#默认为0,表示所有匹配的文本。当传入1时,第一个分组# # #
Groups:返回组中所有匹配内容的元组(上面的case输出(' # # ',' text '))
Groupdict:返回包含需要命名的组的键值对的字典。
find=re.search('a href='(?Phref。)'(?Ptext\w )/a ',str)
Start:返回文本中匹配内容的起始索引end:返回文本中匹配内容的结束索引span:返回由起始索引和结束索引组成的元组建议。
推荐一个正规网站:https://alf.nu/RegexGolf.
总结
本文到此为止。希望能帮到你,也希望你能多关注我们的更多内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。