カテゴリ: JavaScript 更新日: 2026/01/15

JavaScriptの正規表現で否定のパターンを表す方法を学ぼう

JavaScriptの正規表現で否定のパターンを表す方法(\[^…]など)
JavaScriptの正規表現で否定のパターンを表す方法(\[^…]など)

先生と生徒の会話形式で理解しよう

生徒

「正規表現で特定の文字だけを除外したい場合はどうすればいいですか?」

先生

「その場合は否定文字クラスを使います。文字クラスの中で ^ を使うと、『この文字以外』という意味になります。」

生徒

「例えばどのように書くんですか?」

先生

「例えば [^abc] と書くと、a、b、c 以外の文字にマッチします。」

1. 否定文字クラスとは?

1. 否定文字クラスとは?
1. 否定文字クラスとは?

正規表現では、角括弧 [ ] を使って文字の集合を表します。例えば [abc] は a、b、c のいずれかにマッチします。ここに ^ を先頭に置くと、「これ以外」という否定になります。


const text = "apple banana cherry";
const result = text.match(/[^abc]/g);
console.log(result); 
// ["p", "p", "l", "e", " ", "n", "n", " ", "h", "e", "r", "r", "y"]

上記では a、b、c を除くすべての文字がマッチしています。

2. 否定文字クラスの応用例

2. 否定文字クラスの応用例
2. 否定文字クラスの応用例

数字以外の文字にマッチさせたい場合も否定文字クラスが使えます:


const text = "ID12345";
const result = text.match(/[^0-9]/g);
console.log(result); // ["I", "D"]

ここでは [^0-9] が数字以外の文字を抽出しています。

3. 特殊文字との組み合わせ

3. 特殊文字との組み合わせ
3. 特殊文字との組み合わせ

否定文字クラスは他の正規表現と組み合わせることで便利に使えます。例えば空白文字以外をすべて取り出す場合:


const text = "Hello World!";
const result = text.match(/[^\s]+/g);
console.log(result); // ["Hello", "World!"]

\\s は空白文字を表し、[^\s] で空白以外の文字にマッチさせています。

4. 否定文字クラスのポイント

4. 否定文字クラスのポイント
4. 否定文字クラスのポイント
  • 角括弧 [ ] 内で ^ を先頭に置くと否定になる
  • 数字、アルファベット、空白などを除外したいときに便利
  • 他の正規表現と組み合わせて複雑なマッチ条件も作れる

否定パターンを使うことで、特定の文字を除外した検索や抽出が簡単にできるようになります。初心者の方はまず小さな文字列で練習してみると理解が進みます。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptモジュールと名前空間を完全解説!分割して管理する基本構文
New2
JavaScript
JavaScriptの正規表現で否定のパターンを表す方法を学ぼう
New3
TypeScript
TypeScriptモジュール入門!ESModulesとCommonJSの違いを初心者向けに徹底解説
New4
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptの日時操作Tips!実務で役立つテクニック集
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptの正規表現で繰り返し指定(* + ? {n,m})を学ぼう
No.4
Java&Spring記事人気No4
TypeScript
TypeScriptで非同期イテレーター(for await of)を活用する
No.5
Java&Spring記事人気No5
TypeScript
TypeScriptとES6/ESNextの連携ガイド!最新機能を有効にするtarget設定
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptで非同期処理を含むES6構文をテストする方法!初心者のための徹底解説
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptで日時の差分を計算する方法|ミリ秒・日数の応用テクニック
No.8
Java&Spring記事人気No8
JavaScript
JavaScriptの正規表現で任意の1文字(.)や文字クラスを使う方法