说说 Python 的正则表达式

正则表达式,是查找文本的一种描述方法。例如, 一个正则表达式为 \d, 表示一位数字字符,即一位 0 到 9 之间的任意数字。

import re

phone_num_regex=re.compile(r'\d\d\d\d-\d\d\d\d\d\d\d\d')
mo=phone_num_regex.search('我的联系号码为: 0591-83822032.')
print('查到的联系号码: '+mo.group())

运行结果:

查到的联系号码: 0591-83822032

我们对上述示例进行分析。

(1)导入正则表达式模块

Python 中所有正则表达式函数都在 re 模块中,所以我们首先将其导入。

import re

(2)创建正则表达式对象

向 re.compile() 传入一个字符串值,表示正则表达式,它将返回一个 Regex 模式对象。

phone_num_regex=re.compile(r'\d\d\d\d-\d\d\d\d\d\d\d\d')

(3)匹配 Regex 对象

接着, 把需要查找的字符串传入 Regex 对象的 search() 方法,寻找该正则表达式所定义的所有匹配。如果在该字符串中没有找到, 那么 search() 方法会返回 None。 如果找到, search() 方法会返回一个 Match 对象。 Match 对象有一个 group() 方法,通过它可以返回被查找字符串中实际匹配的文本。

mo=phone_num_regex.search('我的联系号码为: 0591-83822032.')
print('查到的联系号码: '+mo.group())

(4)传递原始字符串

这里通过在字符串的第一个引号之前加上 r ,将该字符串标记为原始字符串。因为倒斜杠( \ ) 是 Python 中转义字符写法,我们必须使用 \\ ,才能打印出一个倒斜杠。所以使用 r 语法,会让正则表达式更简洁。


总结如下:

  1. 使用 import re 导入正则表达式模块 。
  2. 使用 re.compile() 函数,并使用原始字符串语法,创建一个 Regex 对象 。
  3. 向 Regex 对象的 search() 方法传入想查找的字符串,得到一个 Match 对象 。
  4. 调用 Match 对象的 group() 方法,返回实际匹配的文本字符串。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python中的正则表达式(re) import rere.match #从开始位置开始匹配,如果开头没有则无re...
    BigJeffWang阅读 12,008评论 0 99
  • #首先,python中的正则表达式大致分为以下几部分: 元字符 模式 函数 re 内置对象用法 分组用法 环视用法...
    mapuboy阅读 5,543评论 0 51
  • re模块手册 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以...
    喜欢吃栗子阅读 9,473评论 0 13
  • 搞懂Python 正则表达式用法 Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一...
    厦热阅读 5,526评论 0 2
  • 正则表达式、re模块、匹配单个字符、匹配多个字符、匹配开头结尾、匹配分组、re模块的高级用法、python贪婪和非...
    Cestine阅读 5,461评论 0 1