前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
正则表达式,简称regex,是文本模式的描述方法。你可以在google上搜索regex或者regexp获得非常多的学习资料。这篇短文介绍在python脚本中使用正则表达式的步骤:
1、导入re模块
Python中所有正则表达式的函数都在re模块中,可以在交互式环境或者脚本文件中输入以下代码。导入该模块:
import re
2、创建正则表达式对象
向re.compile()传入一个表示正则表达式的字符串值,它将返回一个Regex对象。例如要创建一个Regex对象来匹配电话号码模式,可以输入以下代码:
phoneMatch = phoneNumRegex.search(’My number is415-555-4242’)
此时phoneNumRegex就包含了一个Regex对象
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中使用正则表达式有几个步骤,但每一步都相当简单。
1.用 import re 导入正则表达式模块。
2.用 re.compile()函数创建一个 Regex对象(记得使用原始字符串)。
3.向 Regex对象的 search()方法传入想查找的字符串。它返回一个Match 对象。
4.调用 Match对象的 group()方法,返回实际匹配文本的字符串