Dreamweaverの正規表現で置換

top2015_0322.jpg正規表現は便利と言われていますが、実際に使用するまで少しハードルが高いにように感じます。
今回は、数百ページを一括置換行った際に使用した記述方法を書き留め置こうと思います。

ゴールは<body>タグの後とに任意のタグ(今回は< h1>hogo< /h1>にします)を入れ込む事です。
完成形:<body>< h1>hogo< /h1>
単純に検索対象を<body>として、置換内容を< body>< h1>hoge< /h1>とすれば良いのですが、ファイルの中には

<body onLoad>
<body class="">
<body id="">
<body data-rel="">

というタグが混在していました。

そこで検索内容を <body ココに含まれるモノを対象としない > という、感じの検索方法にしました。
コレでbodyタグ内に特定のプロパティが含まれていても、検索対象として扱う事が可能になりますね!

実際にDreamweaver上で検索をかける時の表記方法は以下です。

<body((?: (?:onload|(?:id|class|data-rel)=(?:"[\w\-_%]+"|"")))*)>

置換ワードは

<body$1><h1>hoge</h1>

置換の際に$1へ正規表現で検索された内容が格納されるみたいです。
考え方を変えればいろいろな検索と置換に対応出来そうですね!

【最後に】
ファイルが多くなったり、自分が全て把握していないサイトだと置換対象から漏れている事もあるので、最終的にはファイルのタイムスタンプを確認して、タイムスタンプが変更されていないファイルの中身を確認することが大事ですね。

参考サイト

ドリの正規表現について解説(検索・置換)
http://tenderfeel.xsrv.jp/memo/70/

検索情報を維持できる事を解説
http://labs.cybridge.jp/webdesign/dreamweaver/498.html

第4回 正規表現を使った検索・置換にチャレンジ
https://www.adobe.com/jp/newsletters/edge/january2010/articles/article4/