ホームページ作成/ホームページ作成テクニック、小技

たくさんのリンクを正規表現で楽に一括更新する方法(4ページ目)

複数のHTMLファイル内にある「リンク先URL」・「リンク文字」・「属性値」などを一度に更新したい場合は、複数ファイルを対象にして一括置換できる機能や、正規表現による置換処理ができるテキストエディタを使うと、とても楽に作業できます。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

特定のページへのリンク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回以上出現する」という意味になります。最後に「?」記号が必要な理由は先ほどと同じです。
EmEditor「正規表現構文」ヘルプ

EmEditor「正規表現構文」ヘルプ

正規表現の記述方法について詳しくは、正規表現関連の解説書やウェブサイトなどをご参照下さい。EmEditorのヘルプにも、使用可能な正規表現の解説があります(右図)。


 
さて、リンク先URLには、ページ内リンクやアクセス解析の補助などを目的とした文字列が付加されている場合があります。それらの文字列を維持したままリンク先URLを修正することも、正規表現を使って実現できます。

次に、URL末尾に付加された文字列を維持したまま、リンク先URLやリンク文字を一括更新する方法をご紹介致します
  • 前のページへ
  • 1
  • 3
  • 4
  • 5
  • 6
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます