正規表現テスター&デバッガー

正規表現をリアルタイムでテストおよびデバッグします。当社の無料ツールは、ライブマッチハイライト、グループ情報、便利なJavaScript正規表現チートシートを提供します。

広告
広告

データをアップロードせずに正規表現をテスト

リアルタイム正規表現マッチング、キャプチャグループ、フラグ、チートシート付き。ブラウザ内で。

100%プライベート
高速・ローカル
永久無料

使い方

  1. 1

    パターンを入力

    パターン入力フィールドに正規表現を入力します。

  2. 2

    修飾子を選択

    グローバル検索用の「g」や大文字小文字を区別しない検索用の「i」など、検索に適した修飾子を選択します。

  3. 3

    テスト文字列を提供

    「テスト文字列」エリアにテストしたいテキストを入力します。

  4. 4

    結果を分析

    ハイライトされた一致をリアルタイムで表示し、結果パネルでキャプチャグループを含む詳細な一致情報を確認します。

ブラウザ内で強力な正規表現テスト

リアルタイムマッチング、詳細なグループ情報、組み込みチートシート。

リアルタイムマッチング

パターンを入力すると即座にマッチがハイライトされます。ボタンをクリックする必要はありません — 毎回のキーストークで結果が更新されます。

キャプチャグループ表示

各キャプチャグループがフルマッチと共に表示され、パターン内の各グループがキャプチャした正確なテキストを示します。

全フラグ対応

g(グローバル)、i(大文字小文字不区別)、m(複数行)、s(dotall)、u(unicode)、y(sticky)フラグを独立して切り替えます。

マッチ詳細

各マッチのインデックス、長さ、キャプチャテキストを表示します。複数のグループを持つ複雑なパターンのデバッグに最適です。

100%プライベート

すべての正規表現処理はブラウザ内でローカルに行われます。パターンとテストデータはデバイスから離れません。

無料・制限なし

登録不要、APIキー不要、毎日のクォータなし。個人・商用利用ともに永久無料です。

広告

正規表現について

正規表現とは何か?

正規表現は検索パターンを指定する文字列です。プログラミングやテキスト編集で複雑なパターンに基づいてテキストを検索、置換、検証するために使用されます。

広告

貪欲量指定子 vs 遅延量指定子

貪欲量指定子(*, +, ?)はできるだけ多く一致させます。遅延量指定子(*?, +?, ??)はできるだけ少なく一致させます。HTMLタグの抽出などには遅延量指定子が適しています。

広告

一般的なユースケース

正規表現テスターが時間を節約する実際のシナリオ。

入力バリデーション

アプリケーションにデプロイする前に、メール、電話、URL、郵便番号のバリデーションパターンをテストします。

ログ解析

キャプチャグループを使用して、サーバーログ、アプリケーションログ、アクセスログから特定のフィールドを抽出します。

Search & Replace

コードリファクタリングやデータ変換のための正規表現ベースの検索・置換パターンを開発・テストします。

Security Testing

入力サニタイズやWAFルールに使用されるパターンを、様々な攻撃ペイロードに対してテストします。

Comparison

機能NovaToolsRegex101RegExrVS Code
プライバシー(アップロード無し)100%ローカルサーバーにアップロードサーバーにアップロードローカル
リアルタイムマッチング
キャプチャグループ
チートシート組み込み
オフライン利用ページ読み込み後

Regex101とRegExrはテストデータをサーバーにアップロードします。当社のツールはすべてローカルで処理します。

正規表現クイックリファレンス

JavaScript(ECMAScript)正規表現構文のチートシート。

文字クラス

.

改行を除く任意の1文字にマッチします('s'フラグ設定時を除く)。

例:a.c → abc, axc
\d

任意の数字(0-9)にマッチします。[0-9]と同等です。

例:\d+ → 123
\D

任意の数字以外の文字にマッチします。

例:\D+ → abc
\w

任意の単語構成文字(英字、数字、アンダースコア)にマッチします。

例:\w+ → hello_123
\W

任意の単語構成以外の文字にマッチします。

例:\W+ → !@#
\s

任意の空白文字(スペース、タブ、改行)にマッチします。

例:\s+ → ' \n'

量指定子

*

0回以上の繰り返しにマッチします。

例:ab* → a, ab, abbb
+

1回以上の繰り返しにマッチします。

例:ab+ → ab, abbb
?

0回または1回の出現にマッチします(省略可能)。

例:colou?r → color, colour
{n}

ちょうどn回の繰り返しにマッチします。

例:\d{4} → 2026
{n,m}

n回以上m回以下の繰り返しにマッチします。

例:\d{2,4} → 12, 123, 1234

アンカー&グループ

^

文字列の先頭にマッチします('m'フラグで行先頭)。

例:^Hello → Hello at start
$

文字列の末尾にマッチします('m'フラグで行末尾)。

例:world$ → world at end
\b

単語境界(単語文字と非単語文字の境界)にマッチします。

例:\bcat\b → cat (not category)
(...)

キャプチャグループ。マッチしたテキストを記憶します。

例:(\d+)-(\d+) → 123-456
(?:...)

非キャプチャグループ。記憶せずにグループ化します。

例:(?:ab)+ → abab
(?=...)

肯定先読み。パターンが後続することを確認します。

例:\d+(?=px) → 12 in '12px'

よくある質問

正規表現(Regex)とは何ですか?
正規表現は、検索パターンを指定する文字のシーケンスです。プログラミングやテキスト編集において、複雑なパターンに基づいてテキストを検索、置換、操作するための強力なツールです。
修飾子(g、i、m、s)は何を意味しますか?
修飾子は検索の振る舞いを変更します。「g」(グローバル)は最初の一致だけでなく、すべての一致を検索します。「i」(大文字小文字を区別しない)は文字の大小を無視します。「m」(複数行)は、開始(^)と終了($)アンカーが行の開始/終了に一致するようにします。「s」(dotall)は、ドット(.)が改行文字に一致するようにします。
なぜ一部のパターンでブラウザが固まるのですか?
これは「壊滅的なバックトラッキング」として知られる現象が原因である可能性があります。これは、不適切に書かれた正規表現が特定の文字列を処理するのに非常に長い時間がかかる場合に発生します。これは、`(a*)*`のようなネストされた量指定子でよく発生します。パターンをより具体的にしてみてください。
JavaScriptの正規表現と他の言語の違いは何ですか?
JavaScriptはECMAScriptの正規表現エンジンを使用します。PCRE(PHP)やRE2(Go)とは一部の機能が異なります。例えば、JavaScriptは後方参照をサポートしますが、所有量指定子はサポートしません。
貪欲量指定子と遅延量指定子の違いは何ですか?
貪欲量指定子(*, +)は可能な限り多く一致させます。遅延量指定子(*?, +?)は可能な限り少なく一致させます。HTMLタグの抽出などには遅延量指定子が適しています。
パフォーマンスの悪い正規表現を改善するには?
ネストされた量指定子((a*)*など)を避け、より具体的なパターンを使用してください。壊滅的なバックトラッキングを防ぐため、可能な場合はアトミックグループや所有量指定子(サポートされている場合)を使用してください。
モバイルデバイスで使用できますか?
はい、完全にレスポンシブで動作します。すべてのマッチングはスマートフォン上でローカルに実行されます。
このツールを商用プロジェクトに使用できますか?
はい。個人・商用ともに無料で、水印、使用制限はありません。
Unicodeフラグ(u)は何をしますか?
uフラグはUnicodeコードポイント単位でマッチングを行います。絵文字やCJK文字などのサロゲートペアを正しく処理できます。
stickyフラグ(y)は何をしますか?
yフラグは正規表現を文字列の現在の位置に固定します。lastIndexプロパティの位置からマッチングを開始し、その位置でマッチしなければ失敗します。

プライベートで安全

このツールは、ブラウザに内蔵されているJavaScriptエンジンによって動作します。

  • 当社のサーバーにデータが送信されることはないため、機密情報を完全に安心してテストできます。。

こちらもおすすめ

役立つガイド

広告