随時加筆
正規表現使えるようになりたい(スキル的な意味で)
練習
<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>
ハイフン混じりのtitle要素を抜き出す
検索(D) – title=”\w+-\d+”
\d / 数字 1 文字。[0-9] と同じ
+ / 直前の文字の 1 回以上の繰り返し
マッチ
title="alt-text01" title="alt-text02" title="alt-text03" title="alt-text" title="alt-text" title="alt-text"
titleのalt-text01~03を抜き出す
検索(D) – title=”\w+-\w+\d+”
\w / 下線を含む、英数字 1 つ。[A-Za-z0-9_] と同じ
マッチ
title="alt-text01" title="alt-text02" title="alt-text03"
titleのalt-text01~03をtitle-text01~03に変更
検索(D) – title=”\w+(-\w+\d+)”
置換(P) – title=”title$1″
検索側のカッコ()の中身は記憶され、置換の$1,$2,$3で取り出せる。
この場合-text01~03が保存されて$1に格納されてる。
引用符で囲まれてない属性値を探して引用符で囲む
検索(D) – =([0-9a-zA-Z_#-\/]+|[^0-9a-zA-Z\s_\"]+)
置換(P) – =”$1″
極端な例だけど
実行前
<input value=その他 type=checkbox name=chkb1> <table border=0 cellspacing=0 cellpadding=3 width=640> <tr><td><font color=#f33 size=2>◆</font></td> <td><font color="#ace" size="2"><b>お問い合せありがとうございます。</b></font></td> </tr></table>
結果
<input value="その他 "type="checkbox" name="chkb1"> <table border="0" cellspacing="0" cellpadding="3" width="640"> <tr><td><font color="#f33" size="2">◆</font></td> <td><font color="#ace" size="2"><b>お問い合せありがとうございます。</b></font></td> </tr></table>
(※option valueとか、文字コード部分が上手くいかないなぁ…)
エスケープ
¥でエスケープ
保存できる
ん~具体的に役立ちそうな所ってどこかな。
一時的に付与したborderを片っ端からコメントアウトしたり削除したりする時とか
検索(D) – border:(.*)
置換(P) – /*border:$1*/
ドット / 新行 (改行) 以外のすべての単一文字
アスタリスク / 直前の文字の 0 回以上の繰り返し
Dreamweaver livedocs 正規表現
[追記 / 20100513] 8系のヘルプは全滅してたのでこっちを参照。
Adobe Dreamweaver CS4 * Dreamweaver でのコーディングに関する一般情報
文字 意味 例 ^
入力または行の始め
^T は、"This good earth" の "T" を検索しますが、"Uncle Tom’s Cabin" の "T" は無視します。
$
入力または行の終わり
h$ は "teach" の "h" を検索しますが、"teacher" の "h" は無視します。
*
直前の文字の 0 回以上の繰り返し
um* は、"rum" の "um"、"yummy" の "umm"、"huge" の "u" を検索します。
+
直前の文字の 1 回以上の繰り返し
um+ は、"rum" の "um" や "yummy" の "umm" を検索しますが、"huge" の場合は無視します。
?
直前の文字を 0 回または 1 回 (直前の文字がオプションであることを示す)
st?on は、"Johnson" の "son"、"Johnston" の "ston" を検索しますが、"Appleton" や "tension" の場合は無視します。
.
新行 (改行) 以外のすべての単一文字
.an は、"bran muffins can be tasty" の "ran" および "can" を検索します。
x または y
x または y
FF0000|0000FFは、bgcolor="#FF0000" の "FF0000" および font color="#0000FF" の "0000FF" を検索します。
{n}
直前の文字の n 回繰り返し
o{2} は、"loom" の "oo" および "mooooo" の最初の 2 つの "o" を検索しますが、"money" の場合は無視します。
{n,m}
直前の文字の最低 n 回、最高 m 回の繰り返し
F{2,4} は、"#FF0000" の "FF" および "#FFFFFF" の最初の 4 つの "F" を検索します。
[abc]
カッコ内に含まれる文字 1 つ。ハイフンを使って、特定範囲の文字を指定 ([a-f] と [abcdef] は同じ)
[e-g] は、"bed" の "e"、"folly" の "f"、および "guard" の "g" を検索します。
[^abc]
カッコ内に含まれない文字 1 つ。ハイフンを使って、特定範囲の文字を指定 ([^a-f] と [^abcdef] は同じ)
[^aeiou] は、最初に "orange" の "r"、"book" の "b"、および "eek!" の "k" を検索します。
¥b
語境界 (スペース、改行など)
¥bb は、"book" の "b" を検索しますが、"goober" または "snob" の "b" は無視します。
¥B
語境界以外のすべて。
¥Bb は、"goober" の "b" を検索しますが、"book" の "b" は無視します。
¥d
数字 1 文字。[0-9] と同じ
¥d は、"C3PO" の "3" および "apartment 2G" の "2" を検索します。
¥D
非数字 1 文字。[^0-9] と同じ
¥D は、"900S" の "S" および "Q45" の "Q" を検索します。
¥f
用紙送り
¥n
改行
¥r
キャリッジリターン
¥s
スペース、タブ、用紙送り、改行を含むホワイトスペース 1 つ
¥sbook は、"blue book" の "book" を検索しますが、"notebook" の場合は無視します。
¥S
非ホワイトスペース 1 つ
¥Sbook は、"notebook" の "book" を検索しますが、"blue book" の場合は無視します。
¥t
タブ 1 つ
¥w
下線を含む、英数字 1 つ。[A-Za-z0-9_] と同じ
b¥w* は、"the barking dog" の "barking" および "the big black dog" の "big" と "black" を検索します。
¥W
非英数字の 1 つ。[^A-Za-z0-9_] と同じ
¥W は、"Jake & Mattie" の "&" および "100%" の "%" を検索します。
Ctrl+Enter または Shift+Enter (Windows)、Control+Return、Shift+Return、または Command+Return (Macintosh)
改行文字正規表現を使用しない場合に改行文字を検索するときは、[ホワイトスペースの違いを無視] をオフにしてください。この検索では、一般の意味の改行ではない特定の文字が検索されます。たとえば、<br> タグや <p> タグは無視されます。デザインビューでは、改行文字は改行ではなくスペースとして表示されます。
カッコで正規表現内をグループ分けし、後で参照できるように区別します。その後で、[置換] フィールドで $1、$2、$3 などを使用して、1 番目、2 番目、3 番目、およびそれ以降のカッコのグループを参照します。
メモ
[検索] テキストボックスでは、$1、$2、$3 ではなく ¥1、¥2、¥3 を使用して、正規表現内のカッコのグループを参照します。
たとえば、(¥d+)¥/(¥d+)¥/(¥d+) を検索し、それを $2/$1/$3 で置換すると、スラッシュで区切られた日付の日、月が入れ替わるので、アメリカ式とヨーロッパ式の日付を変換することができます。
いつも思うんだけど、blockquoteで引用した部分のソースは修正してもいいのかな。
引用だから改変しちゃダメなのか、本文以外の部分だから関係ないのか、と迷いつつ、少し直したりして使ってる。
bgcolorとか削除したいborder=”0″ cellpadding=”0″ cellspacing=”0″なんかも。
