正規表現テスター(JavaScript)
JavaScript の正規表現を試せます。一致箇所のハイライト、番号付き・名前付きグループ、置換結果を表示し、処理が長すぎるパターン(ReDoS)は自動で中止します。
- ブラウザ内で処理(アップロードなし)
前後のスラッシュ(/)は不要です。例:\d+、(?<year>\d{4})
$1、$<name>、$&(一致全体)、$$($ そのもの)が使えます。
パターンは 1,000 文字、テスト文字列は 100,000 文字まで。1 秒を超える処理は自動的に中止します。
実行中…
使い方
- 正規表現のパターンを入力し、必要なフラグ(g・i・m など)を選びます。
- テスト文字列を入力すると、一致箇所がハイライトされ、位置とグループの一覧が表示されます。
- 置換後の文字列($1 や $<name> など)を入力すると置換結果を確認でき、コピーできます。
よくある質問
どの正規表現エンジンで動きますか?
お使いのブラウザの JavaScript エンジン(RegExp)で実行します。PCRE・Python・Java などとは一部の構文や動作が異なります。
ページが固まることはありませんか?
マッチングはページとは別の Web Worker で実行し、1 秒を超えると Worker を停止して「時間がかかりすぎた」と表示します。^(a+)+$ のような破滅的なバックトラックが起きてもページは操作できます。
空文字に一致するパターンでも止まりませんか?
はい。空文字に一致した場合は次の位置へ進めるため、無限ループにはなりません(u・v フラグでは文字単位で進みます)。
注意事項・制限
- 入力内容はこのページ内でのみ処理され、YUCTS のサーバーには送信されません。
- パターンは 1,000 文字、テスト文字列は 100,000 文字までです。ハイライトと一覧は最初の 1,000 件まで表示します。
- 利用できる構文やフラグ(v・d など)はブラウザのバージョンによって異なります。対応していないフラグは選べません。
- 1 秒の制限は端末の性能に左右されるため、遅い端末では通常のパターンでも中止されることがあります。
- Safari(JavaScriptCore)は、バックトラックが一定量を超えると自ら検索をやめて「一致なし」を返します。このツールは時間のかかった実行に注意を表示しますが、その結果が正しいかは判定できません。
データ出典
関連ツール
- JSON 整形・検証ツール(フォーマッター)JSON の構文をチェックし、エラーの行と列を表示します。インデント整形・1 行への圧縮・キーの並べ替え、コピーとダウンロードに対応。
- CSV ⇄ JSON 変換ツールCSV・TSV を JSON に、JSON を CSV・TSV に変換します。引用符やセル内の改行、UTF-8 の BOM、区切り文字の自動判定、Shift_JIS に対応し、列の選択・並べ替え・名前の変更もできます。
- YAML ⇄ JSON 変換ツールYAML を JSON に、JSON を YAML に変換します。独自タグや実行可能なタグは読み込まず、エイリアスの展開を制限して安全に処理します。エラーは行と列で表示します。
- Base64 エンコード・デコード(テキスト・ファイル)日本語や絵文字を含むテキストを UTF-8 で Base64 に変換し、Base64 を元に戻します。URL セーフ形式、パディングの有無、ファイル・data URL にも対応。
- URL エンコード・デコード(パーセントエンコーディング)日本語を含む URL やクエリを % エンコード・デコードします。encodeURIComponent・encodeURI・フォーム形式(+)に対応し、壊れた % はエラー位置を表示します。
- Unix 時刻(タイムスタンプ)変換ツールUnix 時刻を日時に、日時を Unix 時刻に変換します。秒・ミリ秒・マイクロ秒・ナノ秒、ISO 8601 と IANA タイムゾーン、2038 年問題の範囲外や 1970 年より前の負の値にも対応。