前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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

Python基础最难知识点:正则表达式(使用步骤) Python 第1张

 

1、导入re模块

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

import re

 

2、创建正则表达式对象

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

phoneMatch = phoneNumRegex.search(’My number is415-555-4242’)

 

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

Python基础最难知识点:正则表达式(使用步骤) Python 第2张

 

3、匹配Regex对象

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

phoneMatch = phoneNumRegex.search(’My number is415-555-4242’)

 

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

print(‘Phone number found :’+phoneMatch.group())

 

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

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基础最难知识点:正则表达式(使用步骤) Python 第3张

 

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

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

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

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

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

 

 
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄