打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python正则表达式的使用和方法

5.3.1 认识正则表达式

正则表达式(Regular Expression),此处的“Regular”即是“规则”、“规律”的意思,Regular Expression即“描述某种规则的表达式”,因此它又可称为正规表示式、正规表示法、正规表达式、规则表达式、常规表示法等,在代码中常常被简写为regex、regexp或RE。正则表达式使用某些单个字符串,来描述或匹配某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索或替换那些符合某个模式的文本,如下面的表5.3、5.4、5.5、5.6所示。

5.3.2re模块

在Python中需要通过正则表达式对字符串进行匹配的时候,可以导入⼀个库(模块),名字为re,它提供了对正则表达式操作所需的方法,如表5.7。

5.3.3re.match()方法

re.match()是用来进行正则匹配检查的方法,若字符串匹配正则表达式,则match()方法返回匹配对象(Match Object),否则返回None(注意不是空字符串'')。

匹配对象Macth Object具有group()方法,用来返回字符串的匹配部分。常用格式为:

re.match(pattern,string, flags=0)

这里的pattern格式为('正则表达式', '匹配的字符串')例如:

>>> import re #导入re包

>>> sample_result1 = re.match('Python','Python12') #从头查找匹配字符串

>>> print(sample_result1.group()) #输出匹配的字符串

运行结果如下:

Python

5.3.4re.search()方法

re.search()方法和re.match()方法相似,也是用来对正则匹配检查的方法但不同的是search()方法是在字符串的头开始一直到尾进行查找,若正则表达式与字符串匹配成功,那么就返回匹配对象,否则返回None。例如:

>>> import re

>>> sample_result2 = re.search('Python','354Python12') #依次匹配字符串

>>> print(sample_result2.group())

运行结果如下:

Python

5.3.4re.search()方法与re.match()方法的区别

虽然re.match()和re.search()方法都是指定的正则表达式与字符串进行匹配,但是 re.match()是从字符串的开始位置进行匹配,若匹配成功,则返回匹配对象,否则返回None。而re.search()方法却是从字符串的全局进行扫描,若匹配成功就返回匹配对象,否则返回None。例如:

>>> import re

>>> sample_result3 = re.match('abc','abcdef1234') #match只能够匹配头

>>> sample_result4 = re.match('1234','abcdef1234')

>>> print(sample_result3.group())

>>> print(sample_result4)

5.3.4re.search()方法与re.match()方法的区别

>>> sample_result5 = re.search('abc','abcdef1234') #search匹配全体字符

>>> sample_result6 = re.search('1234','abcdef1234')

>>> print(sample_result5.group())

>>> print(sample_result6.group())

运行结果如下:

abc

None

abc

1234

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
跟我一起学习Python——正则表达式及re模块使用
Python正则表达式之re.match()分组
Python正则表达式由浅入深(一)
Python 正则表达式
python干货|正则表达式
python中import re
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服