re.fullmatch.groups() 函数
re 模块中的 re.fullmatch.groups() 函数是用来匹配整个字符串,并返回整个匹配结果中的所有分组。其中,分组是由小括号 ()
包含的部分。
该函数的语法如下:
re.fullmatch(pattern, string, flags=0).groups(default=None)
其参数说明如下:
- pattern:匹配的正则表达式。
- string:要匹配的字符串。
- flags:匹配标志,如 re.IGNORECASE 等,可选参数。
- default:匹配不成功时的默认返回值。
该函数返回一个对象,该对象包含了匹配到的所有组的值。如果没有匹配到任何数据,则返回默认值。
下面是一个简单的例子:
import re
s = 'Hello, world!'
match = re.fullmatch(r"(Hello), (\w+)!", s)
if match:
print(match.groups())
输出:
('Hello', 'world')
在上面的例子中,我们首先定义了一个字符串 s
,该字符串可以匹配到一个名为 Hello, world!
的字符串。我们接着定义了一个正则表达式 r"(Hello), (\w+)!"
,其中,分别包含了两个用小括号括起来的子表达式。
这两个子表达式分别匹配到了 Hello
和 world
,并返回了整个匹配结果。
通过 match.groups()
方法我们可以获取到这些分组的值。在这里,我们可以看到输出的元组中包括了 Hello
和 world
两个值。
下面再来看一个例子:
import re
s = '123456'
match = re.fullmatch(r'\d+', s)
if match:
print(match.groups())
输出:
()
在这个例子中,我们定义了一个正则表达式 \d+
,该正则表达式的含义是匹配字符串中至少一个数字。由于字符串 s
中部分都是数字,所以该正则表达式可以匹配成功。
但由于我们在正则表达式中并没有使用小括号包裹,所以返回的结果中也没有任何分组。
至此,我们已经完整地讲解了 Python 的 re 模块 re.fullmatch.groups() 函数的作用和使用方法。通过它,我们可以方便地获取到整个匹配结果中的所有分组数据。