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

JavaScriptの正規表現フラグ(g, i, m)の意味と活用方法

JavaScriptの正規表現フラグ(g, i, m)の意味と活用方法
JavaScriptの正規表現フラグ(g, i, m)の意味と活用方法

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

生徒

「JavaScriptで正規表現を使うときに、フラグってよく見かけます。gやi、mって何ですか?」

先生

「フラグは正規表現の動作を変えるオプションのようなものです。g は全体検索、i は大文字小文字を無視、m は複数行モードでの検索に使います。」

生徒

「それぞれどういう場合に使うんですか?」

先生

「順番に見ていきましょう。実際にコードを使った例で理解するとわかりやすいです。」

1. gフラグ(global)で文字列全体を検索

1. gフラグ(global)で文字列全体を検索
1. gフラグ(global)で文字列全体を検索

g フラグを使うと、文字列の最初のマッチだけでなく、全体の一致する部分をすべて取得できます。


const text = "apple banana apple grape";
const result = text.match(/apple/g);
console.log(result); // ["apple", "apple"]

このように g フラグなしだと、最初の "apple" しか取得できません。全体を検索したいときは必須です。

2. iフラグ(ignore case)で大文字小文字を区別しない検索

2. iフラグ(ignore case)で大文字小文字を区別しない検索
2. iフラグ(ignore case)で大文字小文字を区別しない検索

i フラグを使うと、大文字と小文字の違いを無視して検索できます。


const text = "Apple banana APPLE grape";
const result = text.match(/apple/gi);
console.log(result); // ["Apple", "APPLE"]

大文字小文字が混在している文章でも、i フラグを付けることで一致させることができます。

3. mフラグ(multiline)で複数行の検索

3. mフラグ(multiline)で複数行の検索
3. mフラグ(multiline)で複数行の検索

m フラグは複数行モードで、文字列内の改行ごとに ^$ が行頭・行末を意味するようになります。


const text = `first line
second line
third line`;
const result = text.match(/^second/m);
console.log(result); // ["second"]

通常は文字列全体の先頭にしか ^ はマッチしませんが、m フラグをつけると各行の先頭も対象になります。

4. フラグの組み合わせ

4. フラグの組み合わせ
4. フラグの組み合わせ

複数のフラグは組み合わせることもできます。例えば、全体検索かつ大文字小文字を無視したい場合は gi と書きます。


const text = "Apple apple APPLE";
const result = text.match(/apple/gi);
console.log(result); // ["Apple", "apple", "APPLE"]

このようにフラグを組み合わせることで、より柔軟な文字列検索が可能になります。

5. フラグを活用するポイント

5. フラグを活用するポイント
5. フラグを活用するポイント
  • gフラグ: 全体を検索したいときに使用。配列で複数マッチが取得可能。
  • iフラグ: 大文字小文字の違いを無視したいときに便利。
  • mフラグ: 複数行の文字列を扱う場合に行頭・行末の検索が可能。
  • 必要に応じてフラグを組み合わせることで、効率的に文字列検索ができる。
  • まずは基本のg, i, mフラグを覚えて、文章やログ解析などで活用してみましょう。

6. 注意点

6. 注意点
6. 注意点

正規表現フラグは強力ですが、複雑な組み合わせになると挙動が予想しづらくなることがあります。特に exec や match と組み合わせるときは、どのフラグが必要かを確認してから使用すると安心です。

カテゴリの一覧へ
新着記事
New1
TypeScript
TypeScriptとWebpack・Babelで型定義を使いこなす!初心者向け設定ガイド
New2
JavaScript
JavaScriptの配列コピーを簡単に!スプレッド構文で安全に複製する方法
New3
JavaScript
JavaScriptの配列を逆順にする方法(reverseメソッド活用)
New4
JavaScript
JavaScriptの配列の並べ替え(sortメソッド)の基本とカスタマイズ
人気記事
No.1
Java&Spring記事人気No1
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.2
Java&Spring記事人気No2
TypeScript
TypeScriptの型定義ファイル管理を徹底解説!読み込み順序とDefinitelyTypedの仕組み
No.3
Java&Spring記事人気No3
TypeScript
TypeScriptで型定義を拡張する方法を徹底解説!モジュール拡張とDefinitelyTypedの使い方
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptプログラムの実行方法まとめ!ブラウザ・Node.js・コンソールの使い方
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptでフォームの値を取得する方法を徹底解説!valueプロパティの使い道
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptの始め方:開発環境の構築手順【初心者向け】
No.7
Java&Spring記事人気No7
TypeScript
TypeScriptで使える基本の型一覧(string, number, booleanなど)
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptで型定義を参照する方法!triple-slash directives(三斜線ディレクティブ)を徹底解説