自分用覚え書き @Wiki
置換サンプル
最終更新:
oboegaki1002
テキストを維持したままタグ変更
置換対象:<td width="300"><font size="2">テキスト</font></td> 置換後:<th scope="row">テキスト</th> 検索パターン:<td width="300"><font size="2">(.+)</font></td> 置換パターン:<th scope="row">$1</th>
- () → ()内の正規表現パターンを記憶する
- . → 改行以外のすべての単一文字
- + → 直前の文字の1回以上の繰り返し。*も可
検索対象によっては、.を以下に変更したほうが良い場合もある。※複数同時に使う場合は大カッコ[]で挟む。
- ¥w → 下線を含む、英数字1つ。[A-Za-z0-9_] と同じ
- ¥d → 数字1文字。[0-9] と同じ
- ¥W → 非英数字の1つ。[^A-Za-z0-9_] と同じ
- ¥s → スペース、タブ、用紙送り、改行を含むホワイトスペース1つ
属性の中の値のみまとめて変更
置換対象:<td width="397">テキスト</td> 置換後: <td width="300">テキスト</td> 検索パターン:img width="\d+" 置換パターン:img width="300"
属性に単語を追加
置換対象:<span class="hoge">テキスト</span> 置換後:<span class="hoge test">テキスト</span> 検索パターン:class="(\w+)" 置換パターン:class="$1 test"
XHTMLの書式に変更
置換対象:<img src="test.gif" alt="test"> 置換後:<img src="test.gif" alt="test" /> 検索パターン:<img(.*)"> 置換パターン:<img$1" />
アンダーバーをハイフンに変更
置換対象: <img src="images/hoget_img.gif" alt="test"> 置換後: <img src="images/hoge-img.gif" alt="test" /> 検索パターン:(\w*)/(\w*)_(\w*). 置換パターン:$1/$2-$3.
置換で$3~$2~$1と指定すると順番変更も出来る。
属性の挿入
置換対象: <span>hoge</span> 置換後: <span class="top">hoge</span> 検索パターン:<span>(.*)</span> 置換パターン:<span class="top">$1</span></strong>
属性の挿入
置換対象: <table cellspacing="0" cellpadding="0" width="691" id="main" class="hoge"> 置換後: <table id="main" class="hoge"> 検索パターン:<table(?:(?: (?:cellpadding|cellspacing|width|border)="[\w\-_%]+")+( (?:id|class)="[\w\-_%]+")*)> 置換パターン:<table$1>
先頭カッコの直後にエクスクラメーションとコロン(?:)をつけるとマッチした文字が記憶されなくなる
tbodyを削除する
置換対象: <table> <tbody> <tr>~</tr> </tbody> </table> 置換後: <table> <tr>~</tr> </table> 検索パターン:[\s\t]+(<TBODY>|</TBODY>) 置換パターン:無し
先頭カッコの直後にエクスクラメーションとコロン(?:)をつけるとマッチした文字が記憶されなくなる