Python学习笔模式匹配与正则表达式之创建正则表达式
随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
创建正则表达式分为以下几个步骤:
(1)导入 re 模块,因为正则表达式的函数都在re模块中。
(2)向 re.compile()传入一个字符串值,表示正则表达式,它将返回一个 Regex 模式对象(或者就简称为 Regex 对象)。
因为我们是要查找电话号码所以我们传入的匹配字符串值是(r'\d\d\d-\d\d\d-\d\d\d\d')表示为452-555-4242。
(3)匹配Regex对象,Regex 对象的search()方法查找传入的字符串,寻找该正则表达式的所有匹配。如果字符串中没有
找到该正则表达式模式,search()方法将返回None。如果找到了该模式,search()方法将返回一个 Match 对象。Match 对象有
一个 group()方法,它返回被查找字符串中实际匹配的文本(稍后我会解释分组)。
(4)调用 Match 对象的 group()方法,返回实际匹配文本的字符串。
#------------------------------------------------我是可耻的分割线-------------------------------------------
示例代码:
#! python 3 # -*- coding:utf-8 -*- # Autor: Li Rong Yang import re#用 import re 导入正则表达式模块。 phoneNumregex = re.compile(r'\d{3}-\d{3}-\d{4}')#用 re.compile()函数创建一个 Regex 对象(记得使用原始字符串)。 text = phoneNumregex.search('My number is 415-555-4242')#向 Regex 对象的 search()方法传入想查找的字符串。它返回一个 Match 对象。 print(text.group())#调用 Match 对象的 group()方法,返回实际匹配文本的字符串。
运行结果: