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

JavaScriptの正規表現でグループ化・キャプチャを活用する方法

JavaScriptの正規表現でグループ化・キャプチャを活用する方法
JavaScriptの正規表現でグループ化・キャプチャを活用する方法

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

生徒

「JavaScriptの正規表現で複数の文字列をまとめて処理することはできますか?」

先生

「できます。グループ化を使うと、特定の部分をまとめて扱ったり、後で取り出すことができます。」

生徒

「グループ化って具体的にはどう書くんですか?」

先生

「丸括弧 ( ) を使ってグループ化します。そしてキャプチャした内容は後で参照することができます。」

1. グループ化とは?

1. グループ化とは?
1. グループ化とは?

正規表現で丸括弧 ( ) を使うと、その部分を1つの単位として扱えます。これをグループ化と言います。グループ化すると、マッチした内容を後から取り出したり、置換に利用できます。


const text = "2025-12-11";
const regex = /(\d{4})-(\d{2})-(\d{2})/;
const result = text.match(regex);
console.log(result);
/*
[
  "2025-12-11", // 全体のマッチ
  "2025",        // 1つ目のグループ(年)
  "12",          // 2つ目のグループ(月)
  "11"           // 3つ目のグループ(日)
]

この例では、日付の年・月・日をそれぞれ別のグループとしてキャプチャしています。

2. キャプチャした内容の利用

2. キャプチャした内容の利用
2. キャプチャした内容の利用

キャプチャした内容は match メソッドで配列として取り出せます。また、置換にも便利です。


const date = "2025-12-11";
const newDate = date.replace(/(\d{4})-(\d{2})-(\d{2})/, "$3/$2/$1");
console.log(newDate); // "11/12/2025"

$1$2$3 はそれぞれ1つ目、2つ目、3つ目のグループの内容に置き換わります。

3. グループ化の応用例

3. グループ化の応用例
3. グループ化の応用例

メールアドレスからユーザー名とドメインを取り出す場合もグループ化が役立ちます。


const email = "user@example.com";
const regex = /(.+)@(.+)/;
const match = email.match(regex);
console.log(match[1]); // "user"
console.log(match[2]); // "example.com"

このように丸括弧で囲むだけで、複数の部分を簡単にキャプチャできます。

4. グループ化のポイント

4. グループ化のポイント
4. グループ化のポイント
  • 丸括弧 ( ) で囲むとグループ化できる
  • キャプチャした内容は match 配列や置換で利用可能
  • 複雑な文字列の抽出や置換処理に便利
  • グループに名前をつけたい場合は (?…) のように名前付きキャプチャも使える

初心者の方はまず簡単な文字列で丸括弧を使ったキャプチャを試すことで、正規表現の強力さを実感できます。

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