web-dev-qa-db-ja.com

単純なTextWrangler Grep置換

クラス「title」を含むすべてのh2タグをh1に置き換えようとしています。

<h2 class="title">Things</h2>

私はこれでTextWrangerのマルチファイル検索を使用しています:

<h2 class="title">[^>]*</h2>

すべてを見つけることはできますが、replaceを押すと、タイトルがgrepがらくたに置き換えられます。

BEFORE: <h2 class="title">Things</h2>
AFTER:    <h1 class="title">[^>]*</h1>

私の問題は、検索によってタグが置き換えられるだけでなく、コンテンツが[^>] *に置き換えられることです。私はアプタナでもこれを試しましたが、同じことが起こりました。私はいくつかの洞察をいただければ幸いです。

21
Edward Pacino

_<h2 class="title">_をh1に変換しているようです? 「置換」で後方参照を使用する必要があります。

検索:<h2 class="title">([^>]*)</h2>

置き換え:_<h1 class="title">\1</h1>_(それ以外に、h1の場合でも、「class = "title"」を保持しますか?)

検索の正規表現の角括弧に注意してください。角括弧の中にあるものが保存されます。

次に、_\1_を使用して、置換テキストでそれらを引き出します(最初の角かっこのセットは\ 1、2番目のかっこは\ 2、...)

41