正規表現

Dreamweaverdeの正規表現を使って「aを含まないb」を検索

htmlの中の大量にある画像でjpg以外のimgタグを検索したり
htmlで終わらないaタグやtarget属性のないaタグだけを検索したりしたくなりませんか?
なるんですよ。なったんですよ。
でDreamweaverの正規表現でサクっと出来んもんかな?と頭をひねってみました。

否定先読みってのを使うと出来るっぽいです。

jpg以外のimgタグを検索

検索対象
[html]
<img src="example.jpg" alt="" />
<img src="example.jpg" alt="" />
<img src="example.png" alt="" />
<img src="example.jpg" alt="" />
<img src="example.png" alt="" />
<img src="example.gif" alt="" />
[/html]

検索文字
[text](?!src=".*jpg")src=".*"[/text]

結果
jpg以外検索の結果

target属性のないaタグだけを検索

検索対象
[html]
<a href="example.html" target="_blank">_blankで開け</a>
<a href="example.html" target="_blank">_blankで開け</a>
<a href="example.html">target指定なし</a>
<a href="example.html" target="_blank">_blankで開け</a>
<a href="example.html">target指定なし</a>
<a href="example.html" target="_top">_topで開け</a>
<a href="example.html">target指定なし</a>[/html]

検索文字
[text](?!<a.*target=")<a[/text]

結果
target属性がないaタグを検索した結果

.html以外のリンクを検索

検索対象
[html]
<a href="example.pdf" target="_blank">_blankで開け</a>
<a href="example.html" target="_blank">_blankで開け</a>
<a href="example.html">target指定なし</a>
<a href="example.htm" target="_blank">_blankで開け</a>
<a href="example/example">target指定なし</a>
<a href="/" target="_top">_topで開け</a>
<a href="example.html">target指定なし</a>
[/html]

検索文字
[text](?!href=".*html")href=".*"[/text]

結果
.html以外へのリンクを検索した結果

ありゃ、head内のcssもマッチしちゃった。

検索 – 特定のタグ でやる

target属性を含めないaタグみたいのなら特定のタグで検索できた。
.jpgじゃないimgの検索の仕方は分からなかった、出来るのかな?
特定のタグ

参考にさせていただきました

Dreamweaverの検索置換に正規表現を

随時加筆
正規表現使えるようになりたい(スキル的な意味で)

練習

[html]
<img src="example01.png" alt="alt-text01" title="alt-text01" />
<img src="example02.png" alt="alt-text02" title="alt-text02" />
<img src="example03.png" alt="alt-text03" title="alt-text03" />

<img src="example01.gif" alt="alt-text" title="alt-text" />
<img src="example02.gif" alt="alt-text" title="alt-text" />
<img src="example03.gif" alt="alt-text" title="alt-text" />

<img src="example01.jpg" alt="alt-text" />
<img src="example02.jpg" alt="alt-text" />
<img src="example03.jpg" alt="alt-text" />

<p class="example">テキスト1</p>
<p class="example">テキスト2</p>
<p class="example">テキスト3</p>
[/html]

ハイフン混じりのtitle要素を抜き出す

検索(D) – title=”\w+-\d+”
\d / 数字 1 文字。[0-9] と同じ
+ / 直前の文字の 1 回以上の繰り返し
マッチ
[html]
title="alt-text01"
title="alt-text02"
title="alt-text03"
title="alt-text"
title="alt-text"
title="alt-text"
[/html]

続きを読む