千家信息网

Python正则表达式有哪些

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,小编给大家分享一下Python正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1 前言正则表达式是对字符串(
千家信息网最后更新 2025年11月07日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安全错误 数据库的锁怎样保障安全 宝安区48u服务器机柜 适合自学的计算机网络技术 奥维地图数据库有多少个 邢台嵌入式软件开发招聘 如何查找数据库中重复的元素 应用帮软件开发定制 公网连接服务器远程管理卡 生死狙击2服务器什么时候开 计算机三级网络技术值得考吗 免费文件服务器管理系统 辽宁潮流软件开发过程品质保障 pg数据库转字符串 网络技术支持qq找回 靠谱的财务软件开发商 辽宁会计软件开发计划 幼儿网络安全画怎样画 我的世界服务器一直断 大专计算机网络技术学哪些东西 互联网科技大事 导航出现服务器繁忙是怎么回事 数据库最大表行数据类型 crm营销的关键是数据库应用 表格里如何建立数据库 达梦数据库安装下载 网络技术员年底工作总结 山东企业级服务器 重庆网络时间同步服务器云服务器 微信开发需要服务器吗 CISA与网络安全隐私 网络安全防护专家
0