本文へスキップ

検索と置換

Find & Replace

文字列・単語単位・正規表現で置換し、キャプチャグループを使って、当たった箇所をすべて事前に確認できます。

文書全体を対象に検索して置換します。コピーして持ち出す前に、一致した件数、影響を受けた行、置換前と置換後を先に見せます。単純な文字列、単語単位、正規表現のすべてに対応し、置換文字列ではsed流の大文字小文字変換も使えます。

🔒 ブラウザの中だけで動きますreplaceregexeditbatch

テキスト

検索と置換

照合の方法

キャプチャグループ1個 — 置換後の欄では$1で参照します。

結果

一致した数

3

置換した数

3

影響した行

3

長さ

64 → 70

行ごとに見る

行置換前置換後
2A-1001,佐藤美咲,12000ORD-1001,佐藤美咲,12000
3A-1002,鈴木大輔,8500ORD-1002,鈴木大輔,8500
4A-1003,田中陽菜,23000ORD-1003,田中陽菜,23000

置換後の欄が解釈する書き方

  • $1, ${1}, $<name> — キャプチャグループ
  • $& — 一致した全体。 $$ — ドル記号そのもの
  • \n, \t, \u0041 — 実際の文字
  • \U…\E, \L…\E — 大文字・小文字へ。sedやvimと同じです

使い方

  1. 一致のさせ方を選びます

    単純な文字列はすべての文字をそのまま探すので、a.bを検索するとaxbではなくa.bが当たります。単語単位はUnicodeの文字境界を使い、正規表現はエンジンをそのまま渡します。

  2. 置換文字列でグループを使います

    $1と$<名前>はパターンが捕まえた部分を、$&は一致全体を入れます。\Uと\Lは\Eまでの大文字小文字を変えるもので、sedやvimと同じです。下のパネルに一式を並べてあります。

  3. 行ごとのプレビューを読みます

    影響を受けた行ごとに、前と後を並べて見せます。意図しないところまで置換が届いたと気づくのは、ここです。

よくある質問

\b日本\b が何も見つけられないのはなぜですか

\bはASCIIの単語文字とそれ以外の間に定義されていて、漢字やかなはASCIIの単語文字ではありません。だから「日本」の周りにはどこにも境界がありません。Unicodeの文字境界を使う「単語単位」を選んでください。

パターンを入力したらページが固まりました

破滅的バックトラックです。(a+)+ のように、繰り返すグループにさらに量指定子を付けると、惜しいところまで一致する入力で時間が指数的に伸びます。一致処理はブラウザが割り込めない1回の呼び出しの中で起きます。その形のパターンには、実行する前に警告が出ます。

\p{Hiragana} は使えますか

パターンがunicodeフラグ付きでコンパイルされれば使えます。パターンの他の部分がそのフラグと衝突しないかぎり、そうコンパイルされます。結果パネルにそうでないと出ていれば、プロパティエスケープが効かない理由はそれです。

20,000件で止まりました

上限で、そこまでの結果は完全です。文書を分けるか、パターンを狭めてください。一致が2万件なら、たいていパターンが意図より広く当たっています。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。