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