Python正規表現における文字クラス内の文字グループ
文字グループ \d, \D,
\w, \W, \s, \S
は、[]の中でもグループ、つまり引き続きコマンドとして機能します。
例
この例では、検索パターンは次のようになります: xの間に任意の数字、または
'a'から'f'までの文字:
txt = 'xax xbx x1x x2x xhx x@x'
res = re.sub('x[\da-f]x', '!', txt)
print(res)
コード実行結果:
'! ! ! ! xhx x@x'
例
この例では、検索パターンは次のようになります: 文字'x'、
次に数字でなく、ピリオドでなく、小文字のラテン文字でもなく、
その後に文字'z'が続く:
txt = 'xaz x1z xAz x.z x@z'
res = re.sub('x[^\d.a-z]z', '!', txt)
print(res)
コード実行結果:
'xaz x1z ! x.z !'
実践問題
次のパターンに一致する文字列を見つける正規表現を書いてください: 数字またはピリオドが
1回以上繰り返される。
次のパターンに一致する文字列を見つける正規表現を書いてください: 数字ではなく、
かつ'a'から'g'までの文字でもない文字が、
3回から7回繰り返される。