正規表現テスター(Regex Tester)

パターンを入力すると、一致した箇所がテスト文字列の上で即座に色付けされます。キャプチャグループ・置換結果・パターンの意味まで一画面で確認でき、ブラウザを固まらせる危険なパターンは 1 秒で自動停止します。

端末内で処理・アップロードなし

ファイルや入力内容はお使いの端末(ブラウザ)の中だけで処理され、サーバーへは送信されません。

g

よく使うパターン集18

クリックするとパターン・フラグ・サンプル文字列を読み込みます。どのパターンにも限界があるため、注意書きも確認してください。

Web・ネットワーク

日本向け

日付・入力チェック

テキスト整形

テスト文字列
219 文字5 行
結果
検索しています…
パターンの解説15
  1. (?<user>名前付きグループ「user」(#1) の開始
  2. [\w.+-]次のいずれか 1 文字: 英数字・_, “.”, “+”, “-”
  3. +直前の要素を 1 回以上(できるだけ多く)
  4. )グループの終了
  5. @文字「@」
  6. (?<domain>名前付きグループ「domain」(#2) の開始
  7. [\w-]次のいずれか 1 文字: 英数字・_, “-”
  8. +直前の要素を 1 回以上(できるだけ多く)
  9. (?:グループの開始(キャプチャしない)
  10. \.記号「.」そのもの(エスケープ)
  11. [\w-]次のいずれか 1 文字: 英数字・_, “-”
  12. +直前の要素を 1 回以上(できるだけ多く)
  13. )グループの終了
  14. +直前の要素を 1 回以上(できるだけ多く)
  15. )グループの終了

使い方

  1. 「正規表現パターン」に / / の中身(例: \d{3}-\d{4})を入力し、g・i・m などのフラグをボタンで切り替えます。

  2. 「テスト文字列」に検索対象を貼り付けます。一致した箇所はその場で色付けされ、右側に位置・長さ・グループの一覧が表示されます。

  3. 置換したいときは上部で「置換」を選び、$1 や $<名前> を使った置換後の文字列を入力すると、変更箇所つきの結果を確認できます。

  4. 入力チェック用のパターンは「一括判定」で、一致すべき値と一致してはいけない値を 1 行ずつ入れて合否をまとめて確認します。

  5. 完成したパターンは「JS リテラル」または「new RegExp()」でコピーし、そのままコードに貼り付けます。

できること

入力しながら一致箇所を色付け

テスト文字列の上に一致箇所を直接色付けします。隣り合う一致は 2 色で塗り分け、空文字の一致(ゼロ幅)も縦線で示すので、どこに何件当たっているかが一目でわかります。一覧から一致を選ぶと、本文の該当箇所が選択されます。

グループを番号と名前で一覧

各一致について $1・$2… と名前付きグループ (?<name>…) の値・位置を表で表示します。参加しなかったグループや空文字も区別して表示するので、後方参照や置換の組み立てで迷いません。

置換プレビューと変更箇所の一覧

$1・$<名前>・$&・$`・$' を JavaScript の仕様どおりに展開し、置換結果のどこが変わったかを色付きで表示します。変更前 → 変更後の一覧つきで、結果はコピー・保存できます。

一致すべき・すべきでない値の一括判定

入力チェック用の正規表現を、OK 例と NG 例を 1 行ずつ並べてまとめて検証できます。行全体の一致を要求する(^…$ で囲む)設定にも対応し、合格数をバーで表示します。

パターンを部品ごとに日本語で解説

独自の構文解析で、量指定子・文字クラス・先読み/後読み・後方参照・Unicode プロパティなどを 1 つずつ説明します。構文エラーは位置を示して直し方を案内します。

ブラウザを固まらせない安全設計

照合は別スレッド(Web Worker)で行い、1 秒を超えたら強制停止します。(a+)+ のような破滅的バックトラックの典型パターンは事前に警告し、改善のヒントを表示します。

こんなときに

  • フォームの入力チェック(メールアドレス・郵便番号・電話番号)用の正規表現を、OK 例と NG 例で検証したい
  • ログや CSV から特定の文字列だけを抜き出す前に、何件・どこに一致するかを確認したい
  • エディタの一括置換に使う $1 や $<名前> の置換結果を、実行前にプレビューしたい
  • 他人が書いた複雑な正規表現の意味を、部品ごとの解説で読み解きたい
  • 本番で処理が止まった原因が正規表現(ReDoS)かどうかを安全に確かめたい

対応形式

対応する構文

JavaScript(ECMAScript 2025)の RegExpフラグ d・g・i・m・s・u・v・y名前付きグループ・後方参照先読み・後読みUnicode プロパティ \p{…}

コピー形式

JS リテラル /…/flagsnew RegExp("…", "flags")置換結果(テキスト保存)分割結果(JSON)

対応状況

機能対応補足
一致の色付け・位置・グループ一覧対応最大 1 万件まで一覧、色付けは先頭 2,000 件
置換プレビュー($1・$<名前>・$& など)対応String.prototype.replace と同じ結果
分割(split)・複数行の合否判定対応—
パターンの解説・構文エラー位置の表示一部対応一般的な構文に対応。v フラグの集合演算などは要素名のみ表示
破滅的バックトラックの検出一部対応1 秒で強制停止+典型パターンの警告。すべての危険な形を事前に見抜けるわけではありません
PCRE・Python・Java・.NET など他言語の正規表現非対応JavaScript の正規表現エンジンで実行します。(?i) や \A、所有量指定子などは動作が異なります
パターンの保存・共有 URL非対応入力内容はどこにも保存しません
オフラインでの利用対応一度開いたあとは通信なしで動作

制限・注意事項

  • テスト文字列は最大 100 万文字、パターンは最大 1 万文字です。
  • 一致は最大 1 万件まで数えて一覧にします。それを超える分は打ち切ります(置換結果の本文は最後まで正しく計算します)。
  • テスト文字列が 20 万文字を超えると、色付け表示を省略して一覧のみ表示します。
  • 1 回の照合が 1 秒を超えると処理を停止します。正常でも重い処理は文字列を分けてお試しください。
  • 使えるフラグや構文はお使いのブラウザの JavaScript エンジンに依存します(v フラグは比較的新しいブラウザのみ)。

プライバシーと安全性

入力したパターンとテスト文字列は、お使いのブラウザの中だけで処理されます。サーバーへの送信・保存は行わず、アクセス解析にも内容は含めません。個人情報を含むログや顧客データでも安心して検証できます。

よくある質問

正規表現で「全角」や「日本語」に一致させるには?
ひらがなは [ぁ-ゖ]、カタカナは [ァ-ヶー]、漢字は u フラグを付けて \p{Script=Han} と書けます。\d や \w は半角の英数字だけに一致し、全角数字や日本語には一致しない点に注意してください。パターン集の「全角カタカナのみ」「全角英数字の検出」も参考になります。
メールアドレスを完璧に判定できる正規表現はありますか?
ありません。仕様(RFC 5322)を完全に再現すると実用的でないほど複雑になり、実在するかどうかは正規表現では確認できません。本ツールのパターン集では、ブラウザの <input type="email"> と同じ現実的な基準を採用し、その限界を注意書きに記載しています。
ブラウザが固まる正規表現(ReDoS)とは何ですか?
(a+)+$ のように繰り返しが入れ子になったパターンは、少しだけ一致しない文字列に対して組み合わせを試し続け、処理時間が爆発的に増えることがあります。本ツールは別スレッドで実行して 1 秒で停止するので、安全に再現・確認できます。
置換で使う $1 と $<name> の違いは?
$1 は 1 番目の ( ) で囲んだ部分、$<name> は (?<name>…) と名前を付けたグループの内容に置き換わります。名前付きにしておくと、グループを追加しても番号がずれません。$& は一致した全体、$$ は $ そのものです。
g フラグを付けないとどうなりますか?
最初の 1 件だけに一致します。置換も最初の 1 か所だけになります。すべての一致を対象にしたい場合は g をオンにしてください。^ と $ を各行に適用したい場合は m フラグも必要です。
Python や PHP の正規表現も試せますか?
このツールはブラウザの JavaScript エンジンで実行するため、JavaScript の正規表現として評価します。基本的な書き方は共通ですが、(?i) のような埋め込みフラグや \A・\Z、所有量指定子などは動作が異なるため、各言語の環境でも確認してください。

テキスト・コード Diff

変更前と変更後を貼り付けるかファイルをドロップするだけで、追加・削除された行と、行の中で変わった単語まで色分けして表示します。結果は unified 形式のパッチとしてコピー・保存でき、入力はブラウザの外へ出ません。

UUID / ULID / NanoID / トークン生成

ページを開いた瞬間に UUID が 1 件生成済み。種類を選ぶだけで UUID v7・ULID・NanoID・ランダムトークンに切り替わり、最大 1 万件を .txt / .csv / .json で保存できます。既存の UUID や ULID を貼り付ければ、埋め込まれた時刻やバージョンも読み取れます。

コード整形・圧縮(Code Formatter)

コードを貼り付けるだけで、言語を自動判定して整形できます。インデント・1 行の幅・セミコロン・引用符・末尾カンマを選べ、JavaScript・CSS・HTML は圧縮前後のサイズと削減率も表示。入力は端末の外へ出ません。

JSON 整形・検証(JSON Studio)

JSON を貼り付けるだけで整形・1 行化・構文チェック。エラーは「何行目の何が悪いか」まで表示し、コメントや末尾カンマは自動修復できます。データは端末の外へ送信しません。

XML 整形・検証(XML Studio)

XML を貼り付けるだけで整形・1 行化・検証。エラーは「何行目の何がどう悪いか」まで表示し、意味を変える空白(混在内容・xml:space)には手を付けません。XPath 検索と JSON 変換も同じ画面で。データは端末の外へ送信しません。

YAML / TOML 検証・整形・変換(YAML / TOML Studio)

YAML・TOML・JSON を貼り付けるだけで構文チェック・整形・相互変換。エラーは行と列で示し、「no が false になる」などの型の落とし穴と、変換で失われるものを事前に警告します。データは端末の外へ送信しません。

最終更新: