regex match

match是re.search和re.match匹配返回的结果

应用

1.group

import re
pattern = re.compile("(?Pd).(g)") # python中用`P`带指定组名
match = pattern.search("dog")
match.group(0) # 'dog' 返回整体匹配的结果
match.group(1) # 'd' 返回第一组匹配的结果
match.group(2) # 'g' 返回第二组匹配的结果
match.group(1,2)  # ('d', 'g') # 返回第一组和第二组匹配的结果
match.group('first',2) # 也可以使用key指定的key返回
match.groups() # ('d', 'g')
match.groupdict() # {'first': 'd'} 只返回了定义key值的组,没有定义的未返回
match.start(1) # 0 第一组匹配的起始位置
match.end(1) # 1 第一组匹配的结束位置
match.span(1) # (0,1) 第一组匹配的起始和结束位置

API

如果匹配成功返回match对象,如果匹配失败则返回None

对象 方法
Match.expand(template) 对 template 进行反斜杠转义替换并且返回,就像 sub() 方法中一样。
Match.group([group1, …]) 返回一个或者多个匹配的子组。0返回所有组匹配的完整的字符串,1是返回第一组,可以同时传入m.group(1,2)获得多组
Match.groups(default=None) 等同于Match.group(0)
Match.groupdict(default=None) 只返回了定义key值的组,没有定义的未返回
Match.start([group]) 组开始的洗标
Match.end([group]) 组结束的下标
Match.span([group]) 返回一个二元组 (m.start(group), m.end(group)) 。 注意如果 group 没有在这个匹配中,就返回 (-1, -1) 。group 默认为0,就是整个匹配。
Match.pos 搜索的起始位置
Match.endpos 搜索的结束位置
Match.lastindex
Match.lastgroup
Match.re
Match.string

你可能感兴趣的:(Python,python)