Python正規表現における文字クラス内の文字グループ

文字グループ \d, \D, \w, \W, \s, \S は、[]の中でもグループ、つまり引き続きコマンドとして機能します。

例

この例では、検索パターンは次のようになります: xの間に任意の数字、または 'a'から'f'までの文字:

pythontxt = 'xax xbx x1x x2x xhx x@x'
res = re.sub('x[\da-f]x', '!', txt)

print(res)

コード実行結果:

python'! ! ! ! xhx x@x'

例

この例では、検索パターンは次のようになります: 文字'x'、 次に数字でなく、ピリオドでなく、小文字のラテン文字でもなく、 その後に文字'z'が続く:

pythontxt = 'xaz x1z xAz x.z x@z'
res = re.sub('x[^\d.a-z]z', '!', txt)

print(res)

コード実行結果:

python'xaz x1z ! x.z !'

実践問題

Задание 1

次のパターンに一致する文字列を見つける正規表現を書いてください: 数字またはピリオドが 1回以上繰り返される。

Задание 2

次のパターンに一致する文字列を見つける正規表現を書いてください: 数字ではなく、 かつ'a'から'g'までの文字でもない文字が、 3回から7回繰り返される。