正規表現テスト
テキスト処理処理はすべてブラウザ内で完結します。データは送信されません
テスト用テキスト
一致箇所
キャプチャグループ
置換のプレビュー
よく使う正規表現
一致と置換はブラウザ内で完結します。正規表現もテキストも送信されません。
ブラウザで正規表現を調整できます。1行書けば1行がハイライトされ、キャプチャグループは名前ごと一覧になり、置換文字列を入れればテキスト全体が置換された結果をプレビューできます。壊滅的なバックトラックへの対策も入っています —— (a+)+ のようなパターンは長いテキストでタブを応答不能にするため、静的に検出して長いテキストでは実行を拒否し、理由を明確に伝えます。計算し終えたふりはしません。
機能
- 一致箇所をリアルタイムでハイライト。ゼロ幅一致(\b、(?=x))も位置を個別に示します
- キャプチャグループの表:グループ番号、名前付きグループの名前、値。参加しなかったグループは空のまま示します
- 置換プレビュー:$1、$&、$<name> に対応し、常に全体置換としてプレビューします
- g / i / m / s / u の5つのフラグを個別に切り替え可能。動作は JavaScript エンジンと完全に同じです
- ReDoS 対策:入れ子の量指定子と量指定子付きの選択を検出し、長い入力では実行を止めて理由を説明します
- 限界を正直に伝えます:入力が10万文字超、一致が2000件超、走査が120ミリ秒超のいずれの場合も通知します
- よく使う正規表現の早見表を内蔵(メール、URL、IPv4、日付、時刻、漢字、携帯番号、色、タグなど)。クリックで入力欄に入り、サンプルテキストも付きます
使い方
- 2本のスラッシュの間に正規表現を入力し、必要に応じてフラグをチェックします
- テスト用のテキストを左側に貼り付けると、一致箇所がリアルタイムでハイライトされます
- 置換する場合は置換文字列を入力します。下に置換後の全体が表示されます
- 「よく使う正規表現」から1つクリックすると、すぐに適用して結果を確認できます
よくある質問
- 正規表現が何も返さないのはなぜですか?
- テキストが長く、パターンに入れ子の量指定子((a+)+、(\d+\s?)* など)がある場合、ツールは実行を止めてその旨を伝えます。この種のパターンは長いテキストで壊滅的なバックトラックを起こし、そのまま走らせるとタブが数秒から数十秒応答しなくなります。まず短いテキストでパターンを検証するか、入れ子を含まない形に書き換えてください。
- 「グローバルが無効」と表示されるのはなぜですか?
- 正規表現に g がない場合、JavaScript は最初の一致しか返しません。これはエンジンの実際の動作で、ツールはそれにそのまま従います。勝手に g を補ったりはしません —— ここで通ったものが、コードに貼り付けると別の結果になるからです。
- 長すぎるテキストは切り詰められますか?
- 切り詰められます。10万文字を超える場合は前半だけを走査し、そのことを画面にはっきり書きます。ページの応答速度を守るためです —— 同期の正規表現は一度実行を始めると中断できないので、入力の規模で制限するしかありません。
- 正規表現やテキストは送信されますか?
- いいえ。一致の判定と置換はすべてブラウザ内で完結し、ページはリクエストを一切送りません。オフラインでも使えます。
関連ツール
テキスト整形
テキスト処理ログや表からコピーした1列を整形します。重複行の削除、並べ替え、空行・前後の空白・行番号の削除、空白のまとめを個別に切り替えできます。
テキスト差分
テキスト処理2つのテキストを行ごとに比較し、追加・削除・未変更の行をハイライト表示します。変更は最小差分で整列し、すべてブラウザ内で処理します。
文字数カウント
テキスト処理日本語や中国語は字数、英語は単語数で別々に数え、文字数・行数・バイト数・読了時間も出します。すべてブラウザ内で処理し、送信しません。
命名規則の変換
テキスト処理8つの命名規則の間で識別子を変換します。fooBarBaz や FOO_BAR のような混在も語に分解し、連続する大文字も語ごとに切ります。
簡体字・繁体字変換
テキスト処理中国語を簡体字と繁体字の間で相互変換します。常用語は語単位で置換し、残りは最も一般的な字形を採るため、一部は人の確認が必要です。
Markdown プレビュー
テキスト処理左に Markdown を書くと右にリアルタイムで描画します。貼り付けた HTML は文字として表示し、画像の外部リクエストも起こしません。