python中re模块的用法,python中re库作用

python中re模块的用法,python中re库作用,Python之re模块详解

本文主要介绍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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: