
7.3
文字列操作
237
ます。
In [165]: regex.findall(text)
Out[165]:
[('dave', 'google', 'com'),
('steve', 'gmail', 'com'),
('rob', 'gmail', 'com'),
('ryan', 'yahoo', 'com')]
sub
メソッドでも、正規表現全体にマッチしたそれぞれの文字列内のそれぞれのグループにアクセス
できます。アクセスには、
\1
や
\2
などの特殊な表記を用います。
\1
という表記はマッチした最初のグ
ループに対応、
\2
は
2
番目のグループに対応、といった感じです。説明を読むより例を見た方が早いで
しょう。
In [166]: print(regex.sub(r'Username: \1, Domain: \2, Suffix: \3', text))
Dave Username: dave, Domai
n: google, Suffix: com
Steve Username: steve, Domain: gmail, Suffix: com
Rob Username: rob, Domain: gmail, Suffix: com
Ryan Username: ryan, Domain: yahoo, Suffix: com
Python
の正規表現についてはまだまだ書けますが、そのほとんどがこの本の範疇を超えてしまいま
す。表 7-4に各メソッドの概要をまとめています。
表7-4 正規表現の