您的位置 首页 > 数码极客

〔正则表达式如何引入〕正则表达式如何匹配! 正则表达式如何使用

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') #从头查找匹配字符串

>>> prin()) #输出匹配的字符串

运行结果如下:

Python


5.3.4re.search()方法

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

>>> import re

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

>>> prin())

运行结果如下:

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')

>>> prin())

>>> print(sample_result4)

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

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

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

>>> prin())

>>> prin())

运行结果如下:

abc

None

abc

1234

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“正则表达式如何引入,正则表达式如何匹配,正则表达式如何运用,正则表达式如何使用,正则表达式如何表达且”边界阅读