前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python re模块常见函数

python re模块常见函数

作者头像
py3study
发布2020-01-14 19:58:27
6010
发布2020-01-14 19:58:27
举报
文章被收录于专栏:python3python3

re.match()函数

如果想要从源字符串的起始位置匹配一个模式,我们可以使用re.match()函数。re.match()函数的使用格式是: re.match(pattern, string, flag)

re.search()函数

我们还可以使用re.search()函数进行匹配,使用该函数进行匹配,会扫描整个字符串并进行对应的匹配。 该函数与re.match()函数最大的不同是,re.match()函数从源字符串的开头进行匹配,而re.search()函数会在全文中进行检索匹配。 示例如下:

代码语言:javascript
复制
import re

pattern1 = "python"
string = "abcdpythonfphp345pythonxadi_py"
result1 = re.search(pattern1, string)

print(result1)
print(result1.group())

执行结果:

代码语言:javascript
复制
<_sre.SRE_Match object; span=(4, 10), match='python'>
python

re.compile()

在以上两个函数中,即便源字符串中有多个结果符合模式,也只会匹配一个结果,那么我们如何将符合模式的内容全部都匹配出来呢?

  1. 使用re.compile()对正则表达式进行预编译。
  2. 编译后,使用findall()根据正则表达式从源字符串中将匹配的结果全部找出。

我们可以通过下面的实例更好理解:

代码语言:javascript
复制
import re

string = "hellomypythonhispythonourpythonend"
pattern = re.compile(".python.")#预编译
result = pattern.findall(string)#找出符合模式的所有结果

print(result)

执行结果:

代码语言:javascript
复制
['ypythonh', 'spythono', 'rpythone']

可以看到,这段代码会将string中满足pattern模式的结果全部输出,符合条件的结果一共有3个。

re.sub()函数

如果,想根据正则表达式来实现替换某些字符串的功能,我们可以使用re.sub()函数来实现。 使用re.sub这个函数,会根据正式表达式pattern,从源字符串string查找出符合模式的结果,并替换为字符串rep,最多可替换max次。 re.sub()函数的格式如下: re.sub(pattern,rep,string,max) 其中,第一个参数为对应的正则表达式,第二个参数为要替换成的字符串,第三个参数为源字符串,第四个参数为可选项,代表最多替换的次数,如果忽略不写,则会将符合模式的结果全部替换。

代码语言:javascript
复制
import re

string = "hellomypythonhispythonourpythonend"
pattern = "python."
result1 = re.sub(pattern,"php",string)   # 全部替换
result2 = re.sub(pattern,"php",string,2) # 最多替换2次

print(result1)
print(result2)

结果如下:

代码语言:javascript
复制
hellomyphpisphpurphpnd
hellomyphpisphpurpythonend

第一行输出,由于没有设置第四个参数,全部替换。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • re.match()函数
  • re.search()函数
  • re.compile()
  • re.sub()函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档