实例
实例
>>>importre>>> pattern = re.compile(r'\d+') # 用于匹配至少一个数字>>> m = pattern.match('one12twothree34four') # 查找头部,没有匹配>>> print(m)None>>> m = pattern.match('one12twothree34four', 2, 10)# 从'e'的位置开始匹配,没有匹配>>> print(m)None>>> m = pattern.match('one12twothree34four', 3, 10)# 从'1'的位置开始匹配,正好匹配>>> print(m) # 返回一个 Match 对象<_sre.SRE_Matchobjectat0x10a42aac0> >>> m.group(0) # 可省略 0'12'>>> m.start(0) # 可省略 03>>> m.end(0) # 可省略 05>>> m.span(0) # 可省略 0(3, 5)
在上面,当匹配成功时返回一个 Match 对象,其中:
group([group1, …])
方法用于获得一个或多个分组匹配的字符串,当要获得整个匹配的子串时,可直接使用group()
或group(0)
;start([group])
方法用于获取分组匹配的子串在整个字符串中的起始位置(子串第一个字符的索引),参数默认值为 0;end([group])
方法用于获取分组匹配的子串在整个字符串中的结束位置(子串最后一个字符的索引+1),参数默认值为 0;span([group])
方法返回(start(group), end(group))
。