既存タグ: <font color=”blue”>test</font>
生成タグ: <span style=”color:$1;”>test</span>
※ $1はキャプチャされた文字列が入る
H:\正規表現入門(1) – 正規表現を使ってみよう アシアルブログ.mht
まず、fontタグを検索して、置換後も引き継ぎたい文字列を保持しておきます
(上の例では、「blue」と「test」)。文字列を保持しておくことを、「キャプチャ」といいます。検索とキャプチャには、以下のような正規表現が使えます。
<font color=”(.+)”>(.+)</font>
次に、置換用の文字列を用意します。
<span style=”color:$1″>$2</span>
$1、$2というのは、キャプチャされた文字列の入る場所です。$1には「blue」、$2には「test」が入ります。
<font color=”(…)“>test</font>
※マッチした部分の値を取得するには、()(カッコ)でキャプチャを取ります。
(…)とすれば、任意の3文字をキャプチャします。
キャプチャされた文字列は、$1、$2といった「$ + 連番の数字」という名前の変数(容れ物)に格納されます。
この変数を置換後の文字列に配置すれば、キャプチャした文字列を展開することができます。
<font
•任意の1文字を表す.(ドット)
•1文字以上の繰り返しを表す+(プラス)
•文字列をキャプチャする()(カッコ
<font.+color=”([^”]*)“[^>]*>([^<]*)</font>
※[^>]*は、「>以外の文字の0個以上の繰り返し」という意味。
たとえば、<br>と<br />と<br/>。バラバラなとき、置換文字列をいずれかのパターンのbrタグにしてやれば、簡単に検索・置換を行えます。