正規表現テスト
パターンを入れるとマッチ箇所・グループと部分ごとの解説をすぐ表示します。入力内容はサーバーに送信しません。
ツールを準備しています。
ユーザーの評価
まだレビューはありません。このツールを使ったことがあれば、最初のレビューを書いてください。
正規表現テストの詳しい使い方ガイド
使い方と例を確認し、知りたいことはトピックから探せます。
はじめに確認すること
- 構文
- ブラウザーのJavaScriptの正規表現です。
- フラグ
- g、i、m、s、u、yの6種類をオン・オフできます。
- 表示するもの
- 一致した箇所、開始位置、番号付きグループ、名前付きグループ。
- 置換
- $1、$&、$<名前> の書き方をそのまま使います。
- 停止の防止
- 別のワーカーで実行し、2秒を超えると終了します。
- サイズ
- 文章は20万文字、一致は5,000か所、一覧は最初の200か所まで。
- 安全性
- テストする文章にタグがあっても、文字としてだけ表示されます。
- 処理する場所
- 式と文章をサーバーに送りません。
正規表現テストの使い方
式を入力します
スラッシュの間に式だけを書けば大丈夫です。よく使う式から選んで、書き換えて使うこともできます。式が間違っている場合は、ブラウザーが知らせた理由をそのまま表示します。
フラグをオンにしてみます
大文字と小文字を区別しないにはi、行ごとに^と$を適用するにはmをオンにします。各ボタンにマウスを乗せると、何をするかが表示されます。
一致した箇所とグループを確認します
文章の上に、一致した箇所が色付けされます。下の一覧で、何文字目から一致したかと、かっこで囲んだグループの値を、1つずつ確認できます。
置換まで事前に確認します
置き換える文章を書くと、結果がすぐに表示されます。$1のようにグループを再利用できるので、並べ替えも確認できます。
こんな作業に使えます
どこが、なぜ一致したかを表示します
一致した箇所を、文章の上にそのまま色付けし、下には、何文字目から一致したかと、かっこで囲んだグループの値を1つずつ並べて表示します。名前付きグループは名前のまま表示されるので、(?<year>\d{4}) のような式を使うときに、値が正しく入っているかをすぐに確認できます。一致しなかったグループは、空欄ではなく「一致なし」として区別して書きます。
止まってしまう式を安全に扱います
(a+)+ のように、同じものを何重にも繰り返す式は、文章が少し長くなるだけで計算が爆発的に増え、ブラウザーが止まってしまいます。このツールは、計算を別のワーカーで実行し、2秒を超えるとそのワーカーを終了します。画面は止まらず、なぜ時間がかかったのかと、どう直せばよいかの案内が表示されます。
例で結果を確かめる
日付だけを探す
式 \d{4}-\d{2}-\d{2} · フラグ g2026-09-10、2026-10-01の2か所が色付けされます。順序の入れ替え
式 (?<y>\d{4})-(?<m>\d{2}) · 置換する文章 $<m>/$<y>2026-09 → 09/2026混同しやすいフラグ
表を左右にスクロールすると続きが見られます。
| フラグ | オンにすると | オフにすると |
|---|---|---|
| g(すべて検索) | 一致する箇所をすべて探します | 最初の1か所だけを探します |
| i(大文字小文字を区別しない) | Aとaを同じものとして扱います | 正確に区別します |
| m(複数行) | ^と$が行ごとに一致します | 文章全体の先頭と末尾にだけ一致します |
| s(ドットに改行を含む) | .が改行にも一致します | .は改行を除いて一致します |
結果が思ったとおりにならないとき
式に時間がかかりすぎて止まったと表示されます
(a+)+ や (.*)* のように、同じものを何重にも繰り返すと、文章が長くなるにつれて場合の数が爆発的に増えます。内側の繰り返しをなくすか、範囲を狭めてみてください。画面が止まらないように、2秒で打ち切ります。
1か所しか探せません
「すべて検索(g)」がオフになっています。オンにすると、すべて探します。
ドット(.)やアスタリスク(*)をそのまま探したいです
前にバックスラッシュを付ければ大丈夫です。文章の最初の行をそのまま探す式に変えてくれるボタンを使うと、一度で処理できます。
ほかの言語では結果が違います
ここでは、ブラウザーのJavaScriptの構文を使っています。PythonやJavaとは書き方が異なる部分があるので、移すときに確認してください。
知っておきたい用語
- グループ
- かっこで囲んだ部分です。一致した値を別に取り出して使えます。
- 名前付きグループ
- (?<名前>...) の形です。番号ではなく名前で取り出します。
- フラグ
- 式の後ろに付くgやiのような文字です。探し方を変えます。
- 破滅的なバックトラッキング
- 場合の数が爆発的に増えて、計算が終わらなくなる状態です。
正規表現テストのよくある質問
「すべて検索(g)」は必ずオンにする必要がありますか?
オンにしないと、最初の1か所だけを探します。コードでも、gがなければ最初の1つだけが使われるため、あえてそのまま表示し、そのことを画面に書いておきます。
どの言語の正規表現ですか?
ブラウザーのJavaScriptの正規表現です。PythonやJavaとは、一部の書き方が異なります。特に、後読みやUnicodeプロパティの書き方は、環境によって対応が異なる場合があります。
文章はサーバーにアップロードされますか?
されません。式も文章も、このブラウザーの中だけで扱います。
空文字列に一致する式も使えますか?
使えます。a* のように、空の場所にも一致する式は、位置が動かず延々と繰り返すことがありますが、1文字ずつずらして処理し、一覧には(空文字列)と表示します。
何か所まで探しますか?
5,000か所まで探し、一覧には最初の200か所を表示します。色付けは、見つかったすべてに適用されます。
テストする文章にHTMLを入れてもよいですか?
かまいません。画面には文字としてだけ描画するため、タグは実行されません。