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()方法,返回实际匹配文本的字符串。

  运行结果:

 

posted @ 2018-10-28 13:20  李荣洋  阅读(332)  评论(0编辑  收藏  举报