メインコンテンツへスキップ

正規表現テスター

リアルタイムで正規表現のマッチング・グループ・置換をテスト

正規表現

//

テスト文字列

0 文字

マッチ結果

正規表現とテスト文字列を入力してください

置換

サンプルパターン

正規表現テスターの使い方

  1. 正規表現パターンを入力

    //の間にパターンを入力します。例:メールアドレスを検出するなら [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}

  2. フラグを設定

    g(全マッチ)、i(大文字小文字無視)、m(複数行)などのフラグをクリックで切り替えます。

  3. テスト文字列を入力して結果を確認

    テスト文字列欄にテキストを入力すると、マッチ箇所がリアルタイムでハイライト表示されます。各マッチのインデックス位置、キャプチャグループ、名前付きグループも一覧で確認できます。

  4. 置換機能でテスト

    「置換」セクションをONにし、置換パターンを入力すると置換結果をプレビューできます。$1, $2でキャプチャグループを参照できます。

よくある質問(FAQ)

Q. このツールはどの正規表現エンジンに対応していますか?

JavaScriptの正規表現エンジン(ECMAScript仕様)に準拠しています。ブラウザのネイティブRegExpオブジェクトを使用するため、Node.jsやブラウザ上のJavaScriptコードと同じ動作になります。後方参照、先読み・後読み、名前付きグループにも対応しています。

Q. 正規表現で日本語テキストをマッチできますか?

はい。Unicodeフラグ(u)を有効にすると、ひらがな・カタカナ・漢字などのUnicode文字を利用できます。例えば[ぁ-ん]+でひらがな、[ァ-ヴ]+でカタカナをマッチできます。

Q. キャプチャグループと名前付きグループの違いは?

キャプチャグループ(pattern)$1, $2で番号参照します。名前付きグループ(?<name>pattern)は意味のある名前で参照でき、コードの可読性が向上します。

Q. 正規表現のパフォーマンスを改善するには?

貪欲マッチ(.*)の代わりに非貪欲マッチ(.*?)を使う、具体的な文字クラスを使う、不要なキャプチャグループを非キャプチャ((?:pattern))にするなどが有効です。このツールで各パターンのマッチ件数と動作を確認しながら最適化できます。

よく使う正規表現構文

構文説明
.任意の1文字(改行を除く)a.c → abc, aXc
\d数字 [0-9]\d+ → 123, 45
\w英数字とアンダースコア\w+ → hello_123
\s空白文字a\sb → a b
*0回以上の繰り返しab* → a, ab, abb
+1回以上の繰り返しab+ → ab, abb
?0回または1回colou?r → color, colour
{n,m}n回以上m回以下\d{2,4} → 12, 123, 1234
()キャプチャグループ(\d+)-(\d+) → $1, $2
(?<name>)名前付きグループ(?<year>\d{4})
|OR(選択)cat|dog → cat, dog
^行の先頭^Hello
$行の末尾world$
(?=)肯定先読み\d(?=px) → 1 in 1px
(?!)否定先読み\d(?!px) → 1 in 1em