Python 正则表达式组
Vaibhhav Khetarpal
2023年1月30日
2022年5月17日
正则表达式组函数或 re.MatchObject.group()
函数是一个函数,它通过将其与函数中传递的参数进行匹配来提供确切的子组作为结果。
本教程讨论了正则表达式组函数以及如何在 Python 中实现它。
在 Python 中使用 re.MatchObject.group()
函数提供确切的子组
需要将 re
库导入 Python 代码才能使用此功能。re
库是术语 Regular Expression
的缩写,是用于处理 Python 中的正则表达式的库。
为了便于理解,re.MatchObject.group()
函数的语法如下所述。
re.MatchObject.group([group])
该函数仅包含一个可选参数,该参数接受参数,用于与子组匹配。给定函数的默认值为零。
它可以返回三种可能的结果,它们是:
- 如果采用有效参数,则返回与参数匹配的完整子组。
- 如果组数作为参数被取入大于组数或负数,则输出将是
IndexError
。 - 如果找不到与参数匹配的模式,则会引发
AttributeError
。
以下示例代码展示了如何在 Python 中实现正则表达式组函数。
在 Python 中使用 re.match()
查找子组之间的匹配
import re
matchobj1 = re.match(r'(\w+)@(\w+)\.(\w+)', 'admin@delftstack.com')
print(matchobj1.group(1))
print(matchobj1.group(2))
print(matchobj1.group(3))
输出:
admin
delftstack
com
在上面的代码中,re.match()
用于在给定文本 admin@delftstack.com
的子组中查找匹配项。
上述代码中的 w
符号表示要考虑匹配英文字母表中的一个字母,而+
符号表示搜索的是连续字符。
这是过程成功完成并找到匹配项的情况。然而,情况并非总是如此。
下面的代码是一个 IndexError
有时如何发生的示例。
import re
matchobj1 = re.match(r'(\w+)@(\w+)\.(\w+)', 'admin@delftstack.com')
print(matchobj1.group(5))
输出:
Traceback (most recent call last):
File "<string>", line 3, in <module>
IndexError: no such group
Author: Vaibhhav Khetarpal
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn