Python正则表达式操作–Regex

正则表达式是系统管理员和开发人员的热门话题。正则表达式用于在单个或多个文件中查找结构化文本或字符串。正则表达式最好的一面是我们可以定义任何我们想在文本中匹配字符串的东西。Python支持并提供了很多正则表达式和相关操作的方法。在本教程中,我们将详细介绍这些正则表达式函数。

null

导入Re或正则表达式库

为了在python中使用正则表达式,我们需要导入正则表达式库,它被命名为 regular expression 作为 regex .

import regex

匹配

match函数是将regex模式应用于给定字符串的最流行函数之一。我们将使用 match 函数 pattern string 参数。还有 flags 参数,如果我们不提供 flags 不会有错误。

re.match(PATTERN,STRING,FLAG)

在本例中,我们希望在给定字符串中查找由空格分隔的单词。每个单词提供一个匹配项,这些匹配项将被分组。

line="This is an example about regular expression"matches = re.match('w+',line)matches.group(0)

图片[1]-Python正则表达式操作–Regex-yiteyi-C++库

在上一部分中,我们简单地打印了第一组索引 但一行中可能有不止一个单词需要匹配。在正则表达式中称为组。我们可以在一个匹配中匹配多个不同的模式。

在这个例子中,我们将匹配以 T a 分成两组。

line="This is an example about regular expression" matches = re.match('(Tw+).*examples(aw+)',line) matches.group(0) #'This is an example about' matches.group(1) #'This' matches.group(2) #'about'
Groups

如我们所见,匹配模式结果被分配到组中。我们可以通过提供关于这些组的索引来获得它们。

搜索

搜索类似于match函数,但主要区别是match查找第一个匹配项,然后停止,但搜索将查找字符串的结尾,如果存在,将查找多个匹配项。的语法 search 功能相同 match 功能。

相关文章: 正则表达式或逻辑交替教程

搜索(模式、字符串、标志)

line="This is an example about regular expression" matches = re.search('(Tw+).*examples(aw+)',line) matches.group(0) #'This is an example about' matches.group(1) #'This' matches.group(2) #'about'

搜索和替换

Python正则表达式函数支持查找给定文本并用新文本替换文本。我们将使用 sub 用于替换的功能。 sub 函数支持以下语法。

re.sub(PATTERN,NEWTEXT,STRING,FLAG)

我们会改变的 regular 用词 unregular 本例中的单词。

line="This is an example about regular expression" matches = re.sub('regular','unregular',line) print(matches)
Search and Replace
搜索和替换

选项标志

选项标志通常作为最后一个参数提供给相关的regex函数。选项标志通常用于不区分大小写的匹配,解释当前语言环境等。下面是选项标志的列表。

  • re.I 是不区分大小写的匹配
  • re.L 用于当前区域设置
  • re.M 制造 $ 匹配行尾
  • re.S 制造 . 匹配任何字符,包括换行符

不区分大小写

我们可以使用选项标志,以使大小写不敏感的匹配或搜索正则表达式。我们将提供 re.I 作为相关函数的最后一个参数,如下所示。

matches = re.sub('regular','unregular',line,re.I)

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享