【秀丸エディタ】正規表現を使って検索・置換する
2018/01/17
利用規約をHTML化するという作業にあたって、タグをちまちま「Ctrl + c」、「Ctrl + v」でやっていたら腱鞘炎になりそうなので、秀丸エディタの『正規表現』を使ってもっと頭良く作業するべきでしょう。
とりあえず、一番わかり易い例を書いておいて忘備録としたいと思います。
秀丸エディタの正規表現を使い置換する
「\f」と「\1」で後方参照する
1 2 3 4 |
第1条(利用申込登録) 1.条文内容条文内容条文内容条文内容条文内容条文内容 (1)条文小内容1条文小内容1条文小内容1条文小内容1条文小内容1 (2)条文小内容2条文小内容2条文小内容2 |
何かしらの利用規約となると、大体、上のような形で元のテキストやワードデータがあると思われます。
これをHTML化して、以下のようにしたい時に活躍するのが、正規表現での置換です。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<ul> <li> <h4>第1条(利用申込登録)</h4> <ol> <li class="noNumber">条文内容条文内容条文内容条文内容条文内容条文内容 <ul class="inner"> <li><span>(1)</span>条文小内容1条文小内容1条文小内容1条文小内容1条文小内容1</li> <li><span>(2)</span>条文小内容2条文小内容2条文小内容2</li> </ul> </li> </ol> </li> </ul> |
例えば、(1)、(2)の「カッコのみ」を「半角から全角に変更」したい、という場合。
他の文章内にカッコがあるが、そちらはそのままにしておきたいという条件がある場合は、秀丸エディタの検索・置換ボックスに以下のように書くと幸せになれます。
1 2 |
[検索] <span>\(\f\d{1,2}\f\)</span> ← バックスラッシュは¥マークと同義です [置換] <span>(\1)</span> ← 括弧を全角カッコに変換 |
[検索]で残したい内容を「\f」でくくると、[置換]で「\1」とした部分に反映されます。「後方参照」というらしいです。
なお、半角カッコの前の「\」は、半角括弧を正規表現記号ではなく、文字列として扱うためのエスケープです。
数字と桁数
1 2 3 4 |
1.あいうえおあいうえお 2.かきくけこかきくけこ 略 15.はひふへほはひふへほ |
という文字列があり、「数字2桁」と「半角ドット」を削除したい場合の秀丸エディタでの書き方。
1 2 |
[検索] \d{1,2}\. [置換] 空白とする |
【意味】
\d:半角数字の0~9
{1,2}:「/d」が1桁以上、2桁以下。
\d{2,5} だと「\d」が2桁以上、5桁以下となる。
\.:半角ドットは正規表現の記号なので、文字列として扱うために、「\」でエスケープします。