首页 > 技术文章 > python,正则模块应用,分组引用

iceberg710815 2019-11-30 09:48 原文

先看下面一段小程序

import re

ret = re.search('(?P<id>.+\d{3})/(?P<name>\w{3})','www122/ooo')
print(ret.group('id'))
print(ret.group('name'))

程序运行结果如下:
www122
ooo

显然,程序将目标字符串'www122/ooo'分别匹配成功,放在两个组中,一个组的名字叫'id',另一个组名字叫'name'
这里用到两个知识点:
1.在python正则分组号()中可以使用固定格式'?P<id>' 表示用本分组单独来进行字符串的匹配,匹配成功后,给匹配成功的内容一个ID号,即'id',当然<>中的ID可以是任意的名字.
2.如果是用re.search()进行的匹配,可以用ret.group('id')这种办法找到分组匹配成功的字符串内容.

推荐阅读