匹配对象
最后看一匹配对象的相应方法。
Match.expand(template)
对 template 进行反斜杠转义替换并且返回。看一下示例:
import re match = re.match(r'(?P<year>\w+) (?P<month>\w+)','2020 01') print(match.expand(r'现在是 \1 年 \2 月'))
Match.group([group1, ...])
返回一个或者多个匹配的子组。看一下示例:
import re match = re.match(r'(?P<year>\w+) (?P<month>\w+)','2020 01') print(match.group(0)) print(match.group(1)) print(match.group(2))
Match.groups(default=None)
返回一个元组,包含所有匹配的子组,在样式中出现的从 1 到任意多的组合,default 参数用于不参与匹配的情况,默认为 None。看一下示例:
import re match = re.match(r'(?P<year>\w+) (?P<month>\w+)','2020 01') print(match.groups())
Match.groupdict(default=None)
返回一个字典,包含了所有的命名子组,default 参数用于不参与匹配的组合,默认为 None。看一下示例:
import re match = re.match(r'(?P<year>\w+) (?P<month>\w+)','2020 01') print(match.groupdict())
Match.start([group]) 和 Match.end([group])
返回 group 匹配到的字串的开始和结束标号。看一下示例:
import re match = re.match(r'(?P<year>\w+) (?P<month>\w+)','2020 01') print(match.start()) print(match.end())
Match.span([group])
对于一个匹配 m,返回一个二元组 (m.start(group), m.end(group))。看一下示例:
import re match = re.match(r'(?P<year>\w+) (?P<month>\w+)','2020 01') print(match.span())