前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python脚本练习(2):使用正则表达式的三部曲

python脚本练习(2):使用正则表达式的三部曲

作者头像
AsicWonder
发布2020-07-07 11:06:58
5250
发布2020-07-07 11:06:58
举报
文章被收录于专栏:数字芯片实验室

正则表达式,简称regex,是文本模式的描述方法。你可以在google上搜索regex或者regexp获得非常多的学习资料。这篇短文介绍在python脚本中使用正则表达式的步骤:

1、导入re模块

Python中所有正则表达式的函数都在re模块中,可以在交互式环境或者脚本文件中输入以下代码。导入该模块:

代码语言:javascript
复制
import re

2、创建正则表达式对象

re.compile()传入一个表示正则表达式的字符串值,它将返回一个Regex对象。例如要创建一个Regex对象来匹配电话号码模式,可以输入以下代码:

代码语言:javascript
复制
phoneNumRegex = re.compile(r’\d\d\d-\d\d\d-\d\d\d\d’)

此时phoneNumRegex就包含了一个Regex对象

3、匹配Regex对象

Regex对象中的search()方法查找传入的字符串,寻找该正则表达式的所有匹配。

代码语言:javascript
复制
phoneMatch = phoneNumRegex.search(’My number is415-555-4242’)

如果字符串中没有找到该正则表达式模式,则search()方法返回None。如果找到该模式则返回一个Match对象。Match有一个group()方法,返回被查找的字符串中实际匹配的文本:

代码语言:javascript
复制
print(‘Phone number found :’+phoneMatch.group())

将期待的模式传递给 re.compile(), 并将得到的 Regex对象保存在phoneNumRegex 中。然后我们在 phoneNumRegex上调用 search(), 向它传入想查找的字符串。查找的结果保存在变量phoneMatch中。模式在这个字符串中找到,所以会返回一个 Match对象。我们就可以在phoneMatch变量上调用 group(), 返回匹配的结果, 显示出完整的匹配,即415-555-4242。

代码语言:javascript
复制
import re
phoneNumRegex = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d')
phoneMatch = phoneNumRegex.search('My number is415-555-4242')
print('Phone number found :'+phoneMatch.group())

输出:
//Phonenumber found :415-555-4242

总结一下:在 Python中使用正则表达式有几个步骤,但每一步都相当简单。

1.用 import re 导入正则表达式模块。

2.用 re.compile()函数创建一个 Regex对象(记得使用原始字符串)。

3.向 Regex对象的 search()方法传入想查找的字符串。它返回一个Match 对象

4.调用 Match对象的 group()方法,返回实际匹配文本的字符串。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数字芯片实验室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档