テキスト検索・置換ツール

下書きの途中でクライアントが製品名を変更したり、メールテンプレートのすべての {FIRST_NAME} プレースホルダーを差し替えたりするために、ワープロを開いて三百回置換するのは大げさです。テキストを貼り付け、検索と置換のペアを設定し、大文字・小文字の区別や正規表現モードを切り替えれば、このツールが一致箇所をすべて書き換え、いくつ置換したかをカウンターで表示します。

テキストを検索・置換する手順

  1. 1

    テキストを貼り付ける

    記事、テンプレート、ログファイル、その他任意のプレーンな文字列。

  2. 2

    検索するパターンを入力する

    そのままの語句、または正規表現モードがオンのときは正規表現。

  3. 3

    置換後の文字列を入力する

    空欄にすると一致箇所を削除します。正規表現モードでは $1、$2 のようにキャプチャグループを再利用できます。

  4. 4

    オプションを選ぶ

    大文字・小文字の区別と、高度な検索用の正規表現モードを切り替えます。

  5. 5

    置換してコピーする

    マッチ数を確認し、書き換えたテキストをワンクリックでコピーします。

オプション早見表

オプション 変わること
大文字・小文字を区別 Apple は Apple にだけ一致し、apple や APPLE には一致しません(正規表現を使わない単純検索に適用)
正規表現 検索欄は PCRE パターンとして読み取られ、/パターン/ のような区切り文字で囲みます
インラインフラグ 閉じ区切り文字のあとにフラグを追加します: i は大文字・小文字を無視、s は . が改行も含むように、m は ^ と $ が行の境界で一致するようにします
すべて置換 一致箇所はすべて置換されます。「最初の一致だけ」というモードはありません

役立つ正規表現パターン

  • HTML タグを除去: /<[^>]+>/
  • 複数の空白を 1 つに: / {2,}/ を 1 つの空白へ
  • URL を削除: /https?:\/\/\S+/
  • 電話番号をマスク: /\d{3}-\d{3}-\d{4}/ を ***-***-**** へ
  • タイポグラフィ引用符を直線引用符へ: /[‘’]/ を ' へ
  • 各行の最初の単語を取得: /^(\w+).*$/m を $1 へ

キャプチャグループで時間を節約

正規表現モードでは、丸括弧が一致部分を取り込み、$1、$2 が置換でそれを再利用します。CSV の 1 列で姓名を入れ替えるには:

  • 検索: /(\w+),\s*(\w+)/
  • 置換: $2 $1

よくある落とし穴

  • 区切り文字の欠落。正規表現モードではパターンを囲む必要があります。例: /foo/。区切り文字がないと検索は失敗し、テキストは変更されずに返ります。
  • 貪欲な一致。/<.+>/ は 1 行の最初の < から最後の > まで飲み込みます。控えめな一致には /<.+?>/ を使います。
  • 特殊文字。.、+、*、?、(、)、[、]、\、|、^、$ は正規表現の演算子です。文字そのものを意味したいときはバックスラッシュを前に付けます。
  • 正規表現モードでの大文字・小文字スイッチ。大文字・小文字を区別するチェックボックスは単純検索に適用されます。正規表現モードでは代わりに i フラグで大文字・小文字を制御します。
  • 置換での後方参照。グループを $1 または ${1} で再利用します。数字の前にリテラルの $ を出力するには \$ とエスケープします。
  • 改行。Windows の \r\n と Unix の \n は画面上では同じに見えます。食い違うと行末パターンが崩れます。

よくある質問

PCRE(Perl 互換正規表現)で、PHP、Perl、grep -P が共有するエンジンです。パターンを /パターン/ のような区切り文字で囲み、閉じ区切り文字のあとに i や s などのフラグを付けます。JavaScript や Python 独自の一部の記法は同じには動かないことがあります。

数千件なら問題ありません。非常に大きな入力はリクエストのサイズと処理時間に左右されます。巨大なファイルには sed などのコマンドライン ツールや、ストリーミング置換に対応したエディターを使ってください。

ツール内ではできません。元のテキストを別のタブに残しておくか、先にバージョン管理付きのエディターに貼り付けて、あとで戻せるようにしてください。

検索と置換はサーバー側で実行されます。テキストは置換を行うために送信され、応答後は保存されません。機密の内容にはオフラインのエディターをおすすめします。

関連ツール

このツールは他の言語でも利用できます