欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

2024 Python3.10 系统入门 + 高级 (XVI):正则表达式 - I. 识别正则表达式

最编程 2024-09-30 07:57:35
...

正则表达式又称规则表达式(Regular Expression),在代码中简写为 regex、regexp 或 RE,通常被用来匹配符合指定模式(规则)的文本。现代计算机编程语言都支持利用正则表达式进行字符串操作。实际上,正则表达式就是一种逻辑模板,是用事先定义好的一组特定字符,以及这些特定字符的任意组合,组成一个 "正则表达式字符串" 这个 "正则表达式字符串" 用来表达对字符串的一种过滤逻辑。

给定一个正则表达式和一个被操作的字符串,可以达到以下目的:

  1. 验证被操作字符串是否符合正则表达式的匹配逻辑。
  2. 通过正则表达式,从被操作字符串中获取特定的信息,或者修改字符串。

Python 支持 Perl 风格的正则表达式语法。下面先了解与正则表达式相关的几个概念:

  1. grep:grep 是一种强大的文本搜索工具,它能使用特定模式匹配(包括正则表达式)搜索文本,并默认输出匹配行。
  2. egrep:由于 grep 更新的速度无法与技术更新的速度同步。为此,贝尔实验室推出了 egrep,即扩展的 grep,这大大增强了正则表达式的能力。
  3. POSIX:在 grep 发展的同时,其他一些开发人员也根据自己的喜好开发出了具有独特风格的版本。但问题也随之而来,有的程序支持某个元字符,而有的程序则不支持,因此就有了 POSIX。POSIX 是一系列标准,确保了操作系统之间的可移植性。但 POSIX 和 SQL 一样没有成为最终的标准,而只能作为一个参考。
  4. Perl: 1987年,Larry Wall 发布了 Perl 编程语言,它汲取了多种语言精华,并内部集成了正则表达式的功能,以及巨大的第三方代码库 CPAN。Perl 经历了从 Perl 1 到现在 Perl 6 的发展最终成了 POSIX 之后的另一个标准。
  5. PCRE:1997 年,Philip Hazel 开发了 PCRE 库,它是能够兼容 Perl 正则表达式的一套正则引擎,其他开发人员可以将 PCRE 整合到自己的语言中,为用户提供丰富的正则功能。

参考:https://www.w3cschool.cn/regex_rmjc/
分类:

1.BRE。基本正则表达式,grep、sed、vi等软件支持。vim有扩展。
2.ERE。扩展正则表达式,egrep(grep -E)、sed -r等。
3.PCRE。几乎所有高级语言都是PCRE的方言或者变种。Python从1.6开始使用SRE正则表达式引擎,可以认为是PCRE的子集,见模块re。