Python3 正则表达式

正则表达式是一种强大的文本处理工具,它允许用户通过定义模式来匹配、查找、替换字符串中的特定内容。Python 内置了对正则表达式的支持,主要通过 re 模块实现。

正则表达式的用途

正则表达式广泛应用于文本处理领域,例如:

  • 搜索和替换:在大量文本中查找并替换特定模式的文本。
  • 数据验证:确保输入的数据符合预期格式。
  • 解析文本:从复杂的文本中提取有用的信息。
  • 数据清洗:清理文本数据,使其更适合分析或处理。

re 模块的基本用法

导入模块

使用正则表达式前,需要先导入 Python 的 re 模块:

常见函数

re.search()

re.search() 函数用于在整个字符串中搜索一个匹配项,并返回一个匹配对象。如果未找到匹配项,则返回 None

-- -------------------- ---- -------
------- - ------
------ - -----------

----- - ------------------ -------

-- ------
    ---------------
-----
    ----------------

re.match()

re.match() 函数用于从字符串的起始位置开始匹配,如果起始位置不符合正则表达式,则匹配失败。

-- -------------------- ---- -------
------- - -------
------ - --------

----- - ----------------- -------

-- ------
    ---------------
-----
    ----------------

re.findall()

re.findall() 函数用于查找字符串中所有匹配的子串,并将它们作为一个列表返回。

re.sub()

re.sub() 函数用于替换字符串中所有匹配正则表达式的子串。

正则表达式元字符

正则表达式由普通字符和特殊字符(也称为元字符)组成。元字符具有特殊的含义,用于定义匹配规则。

普通字符

普通字符直接匹配它们自身。

特殊字符

特殊字符具有特殊含义,需要转义才能匹配其本身。

  • . 匹配除换行符以外的任何单个字符。
  • * 匹配前面的子表达式零次或多次。
  • + 匹配前面的子表达式一次或多次。
  • ? 匹配前面的子表达式零次或一次。
  • {} 定义重复次数。
  • [] 定义一个字符类。
  • () 定义一个分组。
  • | 用于分隔两个子表达式,表示“或”的关系。
  • ^ 表示行的开头。
  • $ 表示行的结束。
  • \w 匹配字母数字及下划线。
  • \W 匹配非字母数字及下划线。
  • \s 匹配任何空白字符。
  • \S 匹配任何非空白字符。

分组与捕获

通过圆括号 () 可以将匹配的子表达式分组,分组后的表达式可以被单独访问。

预编译正则表达式

为了提高效率,可以使用 re.compile() 方法预编译正则表达式。

正则表达式的应用实例

验证邮箱地址

提取网页链接

-- -------------------- ---- -------
------ --

------------ - --- -------------------------------------------

------- - -----------------------
----- - ------------------ -------------

-- ------
    --- - --------------
    ----------  - --- -----------------------

通过以上介绍,我们可以看到正则表达式是处理文本的强大工具。理解并掌握这些基本概念和方法,能够帮助我们更高效地处理各种文本相关的任务。

上一篇: Python3 标准库概览
下一篇: Python3 CGI 编程
纠错
反馈