本文へスキップ
BecomeCoder

正規表現コース · 第5章 実践で使う · レッスン16

フラグ ― 大文字小文字や複数行の扱いを変える

ブラウザで完結

導入

同じパターンでも、フラグ(オプション/修飾子) を付けると動作を変えられます。「大文字小文字を区別しない」「. を改行にもマッチさせる」など、パターン本体を変えずに挙動を切り替える仕組みです。

説明

よく使うフラグは次の3つです(指定の書き方は言語・ツールによって異なります)。

フラグ名前効果
iignore case大文字・小文字を区別しない
mmultiline^ $ が各行の先頭・末尾にマッチするようになる
sdotall. が改行文字にもマッチするようになる
パターン: cat (i フラグあり)   対象: Cat CAT cat   → 3つすべてにマッチ
パターン: ^\d+ (m フラグあり)  対象: 複数行のテキスト → 各行の行頭の数字にマッチ

指定方法の例:多くのツールでは /cat/i のように末尾に付けたり、パターン先頭に (?i) を書いたりします。JavaScript なら /cat/gi.NET なら RegexOptions.IgnoreCase のように、環境ごとの流儀があります。

g(global)フラグもよく登場します。これは「最初の1件だけでなく すべての一致 を対象にする」もので、一括置換や全件抽出のときに付けます。

やってみよう

i(大小無視)・m(複数行)・s.が改行も)・g(全件)――この4つのフラグを知っておくと、実際のツールで「思った通りに動かない」ときの調整ポイントが分かります。

実際に動かしてみよう

パターン欄に正規表現を、下の「テスト文字列」欄に対象の文字列を入れると、マッチした部分がその場でハイライトされます(ブラウザ標準の正規表現エンジンで動きます)。フラグ(g/i/m/s)を切り替えたり、本文のパターンを書き換えたりして、マッチの変化を確かめながら進めましょう。

正規表現 — その場でマッチを確認

ブラウザ標準の正規表現エンジンでパターンを試せる学習用ウィジェットを読み込みます(外部エンジン不要・軽量です)。
スクロールして表示された時点でも自動で読み込まれます。