千家信息网

Python正则表达式有哪些

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下Python正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1 前言正则表达式是对字符串(
千家信息网最后更新 2026年11月01日Python正则表达式有哪些

小编给大家分享一下Python正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1 前言

正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

上面都是官方的说明,博主自己的理解是(仅供参考):通过事先规定好一些特殊字符的匹配规则,然后利用这些字符进行组合来匹配各种复杂的字符串场景。比如现在的爬虫和数据分析,字符串校验等等都需要用到正则表达式来处理数据。

python的正则表达式则是re模块了:

  • re 模块使 Python 语言拥有全部的正则表达式功能。

  • re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。

2 基本语法

2.1 match函数

只从字符串的最开始与pattern进行匹配,下面是函数的语法 :

re.match(pattern, string, flags = 0)

这里是参数的描述 :

  • pattern - 这是要匹配的正则表达式。

  • string - 这是字符串,它将被搜索用于匹配字符串开头的模式。

  • flags - 可以使用按位OR(|)指定不同的标志。这些是修饰符,如下表所列。

  • re.match 函数在成功时返回匹配对象,失败时返回None。使用match(num)或groups()函数匹配对象来获取匹配的表达式。

示例

#未从初始位置匹配,会返回None  import re  line = 'i can speak good english'  matchObj = re.match(r'\s(\w*)\s(\w*).*',line)  if matchObj:      print('matchObj.group() :',matchObj.group())      print('matchObj.group() :',matchObj.group(1))      print('matchObj.group() :',matchObj.group(2))      print('matchObj.group() :',matchObj.group(3))  else:      print('no match!')

#从初始位置开始匹配  import re  line = 'i can speak good english'  matchObj = re.match(r'(i)\s(\w*)\s(\w*).*',line)  if matchObj:      print('matchObj.group() :',matchObj.group())      print('matchObj.group() :',matchObj.group(1))      print('matchObj.group() :',matchObj.group(2))      print('matchObj.group() :',matchObj.group(3))  else:      print('no match!')

2.2 search 函数

与match()工作的方式一样,但是search()不是从最开始匹配的,而是从任意位置查找第一次匹配的内容。下面是这个函数的语法 :

re.match(pattern, string, flags = 0)

这里是参数的描述 :

  • pattern - 这是要匹配的正则表达式。

  • string - 这是字符串,它将被搜索用于匹配字符串开头的模式。

  • flags - 可以使用按位OR(|)指定不同的标志。这些是修饰符,如下表所列。

  • re.search函数在成功时返回匹配对象,否则返回None。使用match对象的group(num)或groups()函数来获取匹配的表达式。

示例

import re  line = 'i can speak good english'  matchObj = re.search('(.*) (.*?) (.*)',line)  if matchObj:      print('matchObj.group() :',matchObj.group())      print('matchObj.group() :',matchObj.group(1))      print('matchObj.group() :',matchObj.group(2))      print('matchObj.group() :',matchObj.group(3))  else:      print('no match!')

2.3 sub 函数

使用正则表达式re模块中的最重要的之一是sub。

re.sub(pattern, repl, string, max=0)

此方法使用repl替换所有出现在RE模式的字符串,替换所有出现,除非提供max。此方法返回修改的字符串。

示例

import re  line = 'i can speak good english'  speak = re.sub(r'can','not',line)  print(speak)  speak1 = re.sub(r'\s','',line) #替换所有空格  print(speak1)

3 特殊类语法

3.1 字符类

3.2 特殊字符类

3.3 重复匹配

3.4 非贪婪重复

这匹配最小的重复次数:

3.5 圆括号分组

3.6 反向引用

与以前匹配的组再次匹配

3.7 锚点

需要指定匹配位置。

3.8 带括号的特殊语法

以上是"Python正则表达式有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

字符 字符串 表达式 函数 正则 模式 特殊 语法 位置 对象 模块 这是 内容 参数 示例 篇文章 规则 搜索 不同 成功 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡网 喔噻互联网科技有限公司 深圳市人人互联网科技有限公司 博彦科技互联网金融 互联网科技公司简介 中国互联网科技工作委员会毛军 互联网品科技 盈实互联网科技 福州新华互联网科技学校 知乎 互联网系的金融科技公司 世界互联网科技公司市值排名 荆州市昕露互联网络科技有限公司 互联网科技革命什么开始 青海科技产业互联网发展 想开互联网科技公司怎么样 工业互联网等科技实现智能化赋能 用友工业互联网科技发展 华中科技大学互联网的牛人 互联网科技平台产品运营 互联网领先科技活动 互联网科技开发公司 互联网公司 科技公司 互联网金融 科技创新 无锡溥仪互联网科技有限公司 哈尔滨屹滨互联网科技有限公司 燊美集互联网科技有限公司 企晟互联网信息科技有限公司 山东有哪些互联网科技公司 陕西九四连强互联网科技有限公司 互联网科技企业文化
0