正規表現テストツール
FreeネイティブのJavaScript正規表現エンジンを使用してテキストに対して正規表現をテストします。リアルタイムの一致ハイライト、番号付きおよび名前付きキャプチャグループの完全な内訳、String.replace()の出力をプレビューするオプションの置換モードを備えています。
ブラウザ内でネイティブのJavaScript正規表現エンジンを使って完全に動作します。どこにも何もアップロードされません。
ハイライトされた一致
一致
最近のアクティビティ
全員に公開されています。すべての訪問者による直近20回の使用履歴を新しい順に表示します。
Tested a pattern (50 chars, flags: g) -- 2 match(es)
2時間前
Tested a pattern (50 chars, flags: g) -- 2 match(es)
2時間前
Tested a pattern (50 chars, flags: g) -- 2 match(es)
2時間前
Tested a pattern (50 chars, flags: g) -- 2 match(es)
2時間前
Tested a pattern (50 chars, flags: (none)) -- 1 match(es)
2時間前
Tested a pattern (50 chars, flags: g) -- 2 match(es)
2時間前
このツールの機能
このツールは、ブラウザのネイティブJavaScript正規表現エンジンを使用して、テキストのブロックに対して正規表現をテストします。一致はテキスト内に直接ハイライト表示され、各一致は番号付きおよび名前付きキャプチャグループに分解され、オプションの置換モードでは、パターンと置換テキストを使ってString.replace()が生成する結果を正確に表示します。
仕組み
パターンと選択したフラグは、実際のJavaScript RegExpオブジェクトにコンパイルされます。グローバルフラグがオンの場合、ツールはテキストに対してexec()を繰り返し呼び出し、各一致を超えて進みます(無限ループを避けるため、空の一致の場合は1文字分進みます)。これ以上一致が見つからなくなるまで続きます。グローバルがない場合、exec()は1回だけ呼び出されます。ハイライトは、一致を順番にたどり、周囲のテキストに手を加えずに各一致した部分文字列をマーカーで囲むことで構築されます。置換モードは、コンパイルされたパターンと置換文字列を使ってテキスト自身のreplace()メソッドを呼び出すため、結果はあなた自身のJavaScriptコードが生成するものと完全に一致します。
解決できる問題
- 実際のJavaScriptコード内の正規表現が期待どおりに一致しない理由を、まったく同じエンジンを使ってデバッグする。
- 実際のデータに適用する前に、検索と置換の操作をプレビューする。
- 各グループがキャプチャしたテキストを同時に見ることで、パターンのどの部分が各キャプチャグループに対応するかを理解する。
- 正規表現フラグを切り替えて一致リストが即座に変化する様子を観察しながら、実践的に学ぶ。
よくある質問
›このツールはどの正規表現の方式を使用していますか?
このツールは、ブラウザ自身のネイティブJavaScript RegExpエンジンを通じてパターンを実行するため、実際のJavaScriptコード、Node.js、またはブラウザ側のフォームバリデーターで正規表現がどのように動作するかと完全に一致します。PCRE(PHP、独自の癖があるreモジュールを使うPython)や.NETの正規表現のような別の方式ではなく、これらは後読み(lookbehind)サポート、名前付きグループの構文、その他いくつかの詳細で異なる場合があります。
›g、i、m、s、uフラグは実際に何を変更しますか?
g(グローバル)は最初の一致で停止する代わりに、すべての一致を見つけます。iは大文字小文字を区別しないようにします。mは^と$が文字列全体の先頭と末尾だけでなく、各行の先頭と末尾にも一致するようにします。s(dotall)は、本来改行に一致しない.が改行文字にも一致するようにします。uは完全なUnicodeモードを有効にし、文字クラスとサロゲートペア(基本多言語面外の文字、多くの絵文字など)の処理方法に影響します。
›パターンに括弧があるのに、いくつかのキャプチャグループが欠落しているように表示されるのはなぜですか?
選択(A|B)の一部であるキャプチャグループは、その選択の分岐が実際に一致した場合にのみキャプチャします。そのため、使用されなかった分岐のグループは「参加していない」と報告されます。これは特定の一致におけるバグではなく、正規表現の標準的な動作です。
›置換モードは私の置換テキストをどのように解釈しますか?
置換モードはJavaScript自身のString.replace()の置換構文を使用します: $1、$2などは番号付きキャプチャグループを挿入し、$<name>は名前付きグループを挿入し、$&は一致全体を挿入し、$$はリテラルのドル記号を挿入します。実際のJavaScriptコードと全く同じように動作します。
›複数の一致を期待しているのに、パターンが一度しか一致しないのはなぜですか?
グローバル(g)フラグが有効になっているか確認してください。これがないと、一致リストとString.replace()の両方が最初に見つかった一致にのみ作用します。これはこのツールの制限ではなく、JavaScriptの正規表現の標準的な動作です。
関連ツール
テキスト
Cron式ジェネレーター
ライブフィールドエディタ、わかりやすい説明、実際の次の5回の実行時刻でcron式を作成・解析します。プリセット、@ショートカット、オプションの秒付き6フィールド形式に対応しています。
Freeテキスト
シーザー暗号ツール
クラシックなシーザー暗号でテキストを暗号化・復号化し、A-Zマッピング表、総当たりリスト、文字頻度チャート、ROT13ショートカット付き。
Freeテキスト
ASCIIアートジェネレーター
入力したテキストやアップロードした画像をASCIIアートに変換します。フォントスタイルや文字の濃淡を選び、色を保持したまま、プレーンテキストまたはPNGとして書き出せます。
Freeテキスト
シークレット設定伏せ字ツール
.envまたは設定ファイルを貼り付けると、機密性の高いキー名や既知の形式(AWS、GitHub、Stripe、JWT、PEM)の隣にあるAPIキー、パスワード、トークンが自動的にマスクされます。その後、チャットAIやバグレポートに安全に貼り付けられます。
Freeテキスト
DMARCレコード生成ツール
わかりやすいフィールドからDMARC DNSレコードを作成。段階的導入プリセットとリアルタイムの適用レベルインジケーター付き。
Freeテキスト
Excel→HTMLテーブル変換ツール
ExcelやGoogleスプレッドシートから貼り付けるか、.xlsx/.xls/.csvファイルをアップロードして、ライブプレビュー、任意のスタイル、数値列の整列付きのきれいなHTMLテーブルを取得できます。
Freeテキスト
ハッシュ生成ツール (MD5/SHA1/SHA256/SHA512)
テキストやファイルをMD5、SHA-1、SHA-256、SHA-384、SHA-512、SHA3-256、SHA3-512、RIPEMD-160、CRC32に一度にハッシュ化。既知のチェックサムと比較するフィールド付き。
Freeテキスト
htpasswd生成ツール
bcryptまたはSHAで実際のApache .htpasswdファイルを生成。公式のhtpasswdコマンドラインツールとバイト単位で照合済み、複数ユーザーの同時対応も可能。
コメント (0)
このツールは役に立ちましたか?コメントを残したり、コツを共有したり、改善方法を教えてください。
まだコメントはありません。最初にご意見をお寄せください!