今日は、正規表現について語りたいです。
正規表現って聞くと正しいコードの書き方のようですが、検索方法の一種なので全く違います。
とても便利なもので、(個人差はありますが)作業効率がとてつもなく上がります。
まず正規表現とはなにか。
正規表現とは、検索のやり方のことです(正式な定義はわかりません)。
例えば、
<li>りんご</li>
<li>ばなな</li>
<li>なし</li>
とあったとき、これらを
<span class="list">りんご</span>
<span class="list">ばなな</span>
<span class="list">なし</span>
としたいとき、普通に置換するなら
1.<li>を<span class="list">にする
2.</li>を</span>にする
となるとおもいます。
しかし、正規表現ならこの2つを一発でできるのです。
やりかた(Dreamweaver版だけどだいたいこうだと思います。)
検索に、<li>(.+)</li>といれる。
置換に<span class="list">$1</span>といれる。
説明
()のなかの.は、任意の一文字(あとか、えとか神とかA,zとか改行以外のなにか)を示します。
.のほかに、\s(スペース、タブなどホワイトスペース),\d(数字),\w(下線を含む英数字)があります。
ちなみに改行は\r\n(windows版Macは検証していませんが、\nかな…)
.の直後の+は、直前の文字の1文字以上の繰り返しを示します。
(+のほかに*もあります。こちらは0文字以上)
つまり、<li>のなかにりんごが来ても、ばなながきても、なしが来ても<li>(.+)</li>に当てはまります。
次に置換の方の$1は、()でくくられた検索の際の文字列を示します。
(ちなみにかっこがいくつかあったら、前からn番目を$nと表します。)
だから、、これを行うと<li>(.+)</li>でまず
<li>りんご</li>がヒットして、(.+)はりんごになり、
置換で<span class="list">りんご</span>となります。
(ばなな、なしも同様)