Warning: ftp_fget() expects parameter 1 to be resource, null given in /www/wwwroot/new.weijing.co/wp-admin/includes/class-wp-filesystem-ftpext.php on line 146

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

发表评论

您的电子邮箱地址不会被公开。

Shopping Cart