正規表現とパターン照合

正規表現テスターキャプチャを見ながら確認

区切りの/を付けずに本体を入力します。空白と改行は保持され、空パターンも有効です。

正規表現テスター

パターン

/cat/gではなく(cat)のような本体を入力し、gは別の欄で指定します。ツールは前後の空白を削りません。ただしエディタやクリップボードで改行が正規化される場合があり、ファイルのバイト単位の検査ではありません。

テスト文字列

結果

入力または手動テストを待っています。

一致処理はブラウザ内の別スレッドで実行され、パターンと文字列は送信されません。

オプション

各フラグは1回だけ指定します。uとvは併用できません。gなしでは一致・置換・抽出は最初の1件です。

このブラウザの対応フラグ:ブラウザを確認中…
  • d — キャプチャ位置を返します。
  • g — 全件を検索。分割には影響しません。
  • i — JavaScriptの規則で大小文字を無視。
  • m — ^と$を行境界に対応させます。
  • s — 点を行終端にも対応させます。
  • u — Unicode構文とコードポイント単位の一致。
  • v — Unicode集合モード。uと併用不可。
  • y — lastIndexからのみ一致。各実行は0から開始。

ブラウザ識別情報:ブラウザを確認中…。ユーザーエージェントの報告であり、厳密なエンジンバージョンではありません。

UTF-16単位の上限:本文100000、パターン2000、置換文字列10000、置換出力1000000、レポート4000000。最大10000件。超過すると処理全体が失敗します。制限時間は2秒です。

入力または手動テストを待っています。

有効な最新の置換結果で、Unicodeが完全かつ100000UTF-16単位以内の場合のみ入力に戻せます。確認して適用し、元に戻すと入力・設定・結果を復元します。

正規表現テスターで、日本語の文章に混じる英語の略語や全角文字を調べてみましょう。ASCIIの範囲だけを使うパターンとUnicodeのプロパティでは、取得できる文字が異なります。見た目が似ていても同じ結果になるとは限りません。

正規表現テストでは、半角と全角の両方を含む短い実例を用意すると違いが見えます。正規表現チェックでキャプチャグループを確認し、正規表現置換へ進む前に、必要な文字を取りこぼしていないか比べられます。

使う理由: 正規表現テスター

構文と結果の違いを見逃さない

必要な部分を捕まえているか確認

正規表現テスターで一致全体を確認してから各キャプチャを開くと、欲しいフィールドを番号や名前で照合できます。位置はUTF-16単位で表示します。

一致全体の枠に2色のキャプチャが入り、下の2つの詳細カードに矢印でつながる図。

最初の置換と全件の置換を比較

gなしの置換は最初の1件、gありなら全件です。同じ本文で両方を比べ、入力へ戻すときだけ変更を確認して適用します。

最初の1件だけの置換と、3件すべての置換を上下で比較した図。

構文と結果の違いを見逃さない

01

パターンをそのまま入力

/cat/gではなく(cat)のような本体を入力し、gは別の欄で指定します。ツールは前後の空白を削りません。ただしエディタやクリップボードで改行が正規化される場合があり、ファイルのバイト単位の検査ではありません。

  • 例を選んでから変更内容を確認して適用します。
02

実行条件を選ぶ

catをcat catに適用し、gを外すと2件が1件になります。既定では編集後350msで実行し、自動を切ればCtrl/Cmd+Enterが使えます。分割は最初の1件だけという規則に従いません。

  • 各フラグは1回だけ指定します。uとvは併用できません。gなしでは一致・置換・抽出は最初の1件です。
03

完全な出力を確認

詳細でnullと""を区別してください。前者はグループ不参加、後者は空文字列の取得です。一覧は50件ずつ増えますが、JSONレポートには成功した結果全体が含まれます。

  • 有効な最新の置換結果で、Unicodeが完全かつ100000UTF-16単位以内の場合のみ入力に戻せます。確認して適用し、元に戻すと入力・設定・結果を復元します。

文字列を調べる4つの方法

一致とキャプチャ

(Ada) (Lovelace)では一致全体がAda Lovelace、グループ1と2が個々のフィールドです。dで範囲を確認できます。後読みのキャプチャは全体の範囲外になることもあります。

置換のプレビュー

(?<year>\d{4})-(?<month>\d{2})を$<month>/$<year>で置換すると2026-09が09/2026になります。gの有無を比べてから、入力への変更を適用してください。

グループの抽出

ID:(\d+)でグループ1を選ぶとID:42から42を抽出し、0なら全体を残します。一致がある場合だけ指定グループの存在を確認し、なければエラーになります。

キャプチャ付き分割

a,bを(,)で分割すると["a", ",", "b"]になります。区切りもキャプチャとして残り、(,)|(;)のような選択肢では不参加のグループがnullになります。空文字列も除去しません。

動作と上限

ブラウザのJavaScriptのみ
現在のブラウザのJavaScript RegExpだけを実行します。PCREやPythonは対象の実行環境で確認してください。対応フラグを検出しますが、報告するユーザーエージェントは厳密なエンジンバージョンではありません。
空の一致とUnicode
空の本文とパターンは有効です。初回とクリア後は待機します。全件のゼロ幅一致はu/vでコードポイント、それ以外ではUTF-16単位で進みます。 位置は0始まりのUTF-16単位で、終端は含みません。グループ位置にはdが必要です。後読みのキャプチャは一致全体の外側になることがあります。
上限のある完全な結果
UTF-16単位の上限:本文100000、パターン2000、置換文字列10000、置換出力1000000、レポート4000000。最大10000件。超過すると処理全体が失敗します。制限時間は2秒です。
文字列を保持する出力
JSONレポートは文字列をエスケープし、単独のサロゲートも保持します。TXTはUnicodeが完全な置換結果だけに使えます。引用符付きプレビューが先頭20000UTF-16単位でも、出力は完全です。
限定的な補足と元に戻す操作
限定的な字句の補足です。完全な構文解析、AI説明、性能分析ではありません。文字クラスや未対応のエスケープ、複雑な構造以降は未解釈としてまとめます。 有効な最新の置換結果で、Unicodeが完全かつ100000UTF-16単位以内の場合のみ入力に戻せます。確認して適用し、元に戻すと入力・設定・結果を復元します。

よくある質問: 正規表現テスター

テスト文字列は外部に送られますか?

送信されません。正規表現テスターはパターンと文字列をブラウザのWorker内で処理します。ファイル送信、URL読み込み、公開共有の機能はありません。

利用できるブラウザは?

Workerと使用するRegExp構文に対応したブラウザが必要です。対応フラグはその場で検出します。古いブラウザで未対応の構文を黙って変換することはありません。

gを無効にした場合の結果は?

gを外すと一致・置換・抽出は最初の1件だけになります。splitはgとは独立して本文を分割し、キャプチャした区切り文字も返します。

置換でグループを参照できますか?

$1や$<name>でグループを、$&で一致全体を参照できます。$$はドル記号です。前後の本文を挿入する参照もあるため、長い置換結果は上限に注意してください。

不正なパターンを入力するとどうなりますか?

パターン欄のエラーとして表示し、ネイティブエンジンの報告を添えます。エンジンが提供しない行番号や列番号は作りません。修正してから再実行してください。

解決しませんでしたか?

試してみる: 正規表現テスター

正規表現テスターの日付やUnicodeの例を試し、自分の文字列へ調整してください。

コードへ戻す前に完全なJSONレポートで取得内容を確認しましょう。

既定では編集後350msで自動実行します。自動を切るとボタンかCtrl/Cmd+Enterで実行できます。変更後は古い結果を出力できません。