【从零学习python 】63.正则表达式中的re.Match类及其属性和方法介绍

2024-02-29 20:16:47 浏览数 (2)

re.Match类介绍

当我们调用re.match方法、re.search方法,或者对re.finditer方法的结果进行迭代时,拿到的数据类型都是re.Match对象。

代码语言:javascript复制
x = re.match(r'h','hello')
y = re.search(r'e','hello')
z = re.finditer(r'l','hello')
print(type(x))  # <class 're.Match'>
print(type(y))  # <class 're.Match'>
for a in z:
    print(type(a))  # <class 're.Match'>

这个类里定义了相关的属性,可以直接让我们来使用。

属性和方法

说明

pos

搜索的开始位置

endpos

搜索的结束位置

string

搜索的字符串

re

当前使用的正则表达式的对象

lastindex

最后匹配的组索引

lastgroup

最后匹配的组名

group(index=0)

某个分组的匹配结果。如果index等于0,便是匹配整个正则表达式

groups()

所有分组的匹配结果,每个分组的结果组成一个列表返回

groupdict()

返回组名作为key,每个分组的匹配结果座位value的字典

start([group])

获取组的开始位置

end([group])

获取组的结束位置

span([group])

获取组的开始和结束位置

expand(template)

使用组的匹配结果来替换模板template中的内容,并把替换后的字符串返回

代码语言:javascript复制
ret = re.search(r'(abc) ', 'xxxabcabcabcdef')
print(ret.pos)  # 搜索开始的位置,默认是0
print(ret.endpos)  # 搜索结束的位置,默认是字符串的长度
print(ret.group(0))  # abcabcabc 匹配整个表达式
print(ret.group(1))  # abc 第一次匹配到的结果
print(ret.span())  # (3, 12) 开始和结束位置
print(ret.groups())  # 表示当正则表达式里有多个分组时,多个分组的匹配结果

0 人点赞