「(?P・・・)」による名前付き後方参照
入門Python3 7.1.3.8
「(?P<名前>・・・)」という構文を使うと名前付きの後方参照ができます。参照するには「\g<名前>」と書きます。
import re str1 = "aa1bb2cc3bb4" str2 = re.sub('(?P<foo>\d+)',r'[\g<foo>]',str1) print(str2)
$ py main.py aa[1]bb[2]cc[3]bb[4]
またgroupでの引数にもこの名前で値を得ることが可能となります。
import re str1 = "aaa123bbb" r = re.search('(?P<foo>\d+)',str1) if r: print(r.group('foo')) # fooで取得することができる print(r.group(1)) # もちろん1でも同様に取得可能
$ py main.py 123 123