正規表現での文字集合の反転

角括弧の先頭にキャレット '^' を使うことで、意味を反転させることができます。つまり、 例えばパターン [ab] が文字 'a' または 'b' を探す場合、 パターン [^ab] は 'a' と 'b' 以外のすべての文字を探します。

例

この例では、検索パターンは次のようになります: 文字 'x'、次に文字 'a' でも 'b' でも 'c' でもないもの、そして文字 'z':

javascriptlet str = 'xaz xbz xcz xez';
let res = str.replace(/x[^abc]z/g, '!');

結果、変数には次の文字列が格納されます:

javascript'xax xbx xcx !'

例

この例では、検索パターンは次のようになります: 文字 'x'、次に小文字のラテン文字ではないもの、そして文字 'z':

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

結果、変数には次の文字列が格納されます:

javascript'xaz xbz ! !'

実践問題

Задание 1

次のパターンにマッチする文字列を見つける正規表現を書いてください: 数字 '1'、次に 'e' でも 'x' でもない文字、数字 '2'。

Задание 2

次のパターンにマッチする文字列を見つける正規表現を書いてください: 文字 'x'、次に 2 から 7 までの数字ではないもの、文字 'z'。

Задание 3

次のパターンにマッチする文字列を見つける正規表現を書いてください: 文字 'x'、次に大文字のラテン文字 1 回以上ではないもの、文字 'z'。

Задание 4

次のパターンにマッチする文字列を見つける正規表現を書いてください: 文字 'x'、次に大文字または小文字のラテン文字でも 1 から 5 までの数字でもないものを 1 回以上、文字 'z'。