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

文字グループ \d, \D, \w, \W, \s, \S が [] 内にある場合、 それらはグループとして機能し、 すなわち、引き続きコマンドとして扱われます。

例

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

javascriptlet str = 'xax xbx x1x x2x xhx x@x';
let res = str.replace(/x[\da-f]x/g, '!');

結果、変数には以下が格納されます:

javascript'! ! ! ! xhx x@x'

例

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

javascriptlet str = 'xaz x1z xAz x.z x@z';
let res = str.replace(/x[^\d.a-z]z/g, '!');

結果、変数には以下が格納されます:

javascript'xaz x1z ! x.z !'

実践問題

Задание 1

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

Задание 2

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