テキストの検索・置換

JavaScriptの正規表現で一致した箇所をまとめて置き換えます。文字列の差し替えだけでなく、キャプチャグループの並べ替えや一致部分の削除にも対応。元の入力は変更せず、結果を別に表示します。

ブラウザ内でローカルに実行

置き換える部分と文字列を指定する

検索欄は正規表現として解釈されます。ピリオドそのものを探す場合は、.ではなく\.と入力します。置換処理はブラウザー内のWorkerで実行し、置換用のリクエストで入力内容を送信しません。

  1. 元のテキストと検索する正規表現を入力します。前後のスラッシュやフラグは付けません。a.aを対象に\.を検索し、-に置き換えるとa-aになります。
  2. 「すべて置換」を実行します。red blueに対して(red) (blue)を検索し、$2/$1で置換するとblue/redになります。置換文字列を空にすると一致した部分を削除できます。
  3. 結果をコピーします。入力、検索、置換のいずれかを編集すると、実行中の処理を中止して古い結果を消します。クリアでは3つの欄と出力を空にします。

検索と置換の解釈

gフラグだけを使う検索

重なり合わないすべての一致を置換します。大文字と小文字は区別し、複数行モード、dotAll、Unicodeモードは有効にしません。使える正規表現の構文はブラウザーに依存します。一致がなければ、入力と同じテキストを返します。

空の正規表現も有効です。abに対して空の検索を-に置換すると-a-b-になります。長さゼロの一致位置はUTF-16単位で進むため、絵文字の途中に文字が入ることがあります。Unicode正規化は行わず、結果のHTMLも実行しません。

置換用の記号と処理の上限

$1は最初のキャプチャグループ、$&は一致全体、$$はドル記号を表します。$`は一致より前の文字列、$'は後ろの文字列、$<name>は名前付きグループを参照します。置換欄に入力した\nは2文字のまま扱い、改行には変換しません。

上限はUTF-16で、テキストが1,000,000単位、正規表現と置換文字列が各10,000単位です。計算後の結果が2,000,000単位を超える場合は表示しません。Workerの起動を含め2秒で処理を打ち切ります。時間切れになった場合は正規表現を簡単にするか入力を短くしてください。途中の結果は残しません。

テキスト置換についての質問

置換すると元の入力も変わりますか?

元のテキストは残ります。結果に対して続けて置換したい場合は、コピーして入力欄へ貼り戻してください。すべて削除されて結果が空になっても正常な結果として扱い、コピーできます。

エラーが出るときは何を確認しますか?

括弧や角括弧が閉じているか確認します。正規表現は/\d+/gではなく\d+のように本体だけ入力してください。Web Workerを読み込めない場合も置換は実行できません。クリップボードの権限などでコピーに失敗しても、表示中の結果は残ります。

最近使ったツール: