特定のページへのリンクURLとリンク文字を一括更新する
ページ「http://www.example.com/samples/abc.html」へのリンクとして、<a href="/samples/abc.html">サンプル</a>
<a href="../samples/abc.html">さんぷる</a>
<a href="../../samples/abc.html">例示</a>
<a href="http://www.example.com/samples/abc.html">見本</a>などの記述が混在している状況で、それらのすべてを、移転先である
<a href="/yonples/abc123.html">ヨンプル</a>に修正したい場合は、
◆検索語:
<a href=".*?/samples/abc\.html">.+?</a>◆置換後:
<a href="/yonples/abc123.html">ヨンプル</a>と指定すれば、一括更新できます。
ここでは、「検索語」側に以下のような正規表現を使用しています。
- 「.*?」
正規表現でドット「.」は「任意の1文字」を表します。「*」は「0回以上」を表します。したがって、「.*」の表記は「任意の文字が0回以上出現する」という意味になります。最後に記述している「?」は、一致パターンを「最短一致」にする指定です。この「?」がないと、同じようなリンクが複数回登場するファイル内では、タグを超えて広い範囲がまとめて置換されてしまいますから、必ず記述して下さい。 - 「\.」
ドット記号は正規表現では「任意の1文字」を表す記号として機能しますから、文字としてのドット記号を表すには、直前に「\」記号を置いて「\.」と記述する必要があります。 - 「.+?」
先ほどの「.*?」とは異なり、ここでは「*」記号ではなく「+」記号を使っています。「+」は「1回以上」を表します。したがって、この正規表現は、「任意の文字が1回以上出現する」という意味になります。最後に「?」記号が必要な理由は先ほどと同じです。
次に、URL末尾に付加された文字列を維持したまま、リンク先URLやリンク文字を一括更新する方法をご紹介致します。