タグ付き正規表現の仕様追加
前に書いたタグ付き正規表現の解説は、秀丸エディタ独自仕様のようですが、一般的な正規表現と同じ表記の仕方にも対応しているようです。
※1 | 一般的タグ付正規表現の対応は秀丸エディタVer5以降 (正規表現エンジンに「HMJRE.DLL」を使用した場合 ←※動作環境で変更可) |
※2 | 一般的タグ付正規表現とは「Perl」の正規表現に合わせたものとなっているようです。 |
※3 | 従来通りの独自仕様の正規表現も使用可(混在は注意点あり?) |
どう違うかというと、独自仕様では「¥f」で文字列を区切っていましたが、Perl方式に合わせて「()」で括ったものも同様の扱いとなるようです。
そして、これまでの「¥f」区切りでは9個までしか使えませんでしたが、15個まで使えるようになったようです。(※HmJre.dllのVersion 4.13と秀丸エディタのVersion 8.58以降を組み合わせた場合)
⇒文字列の指定に「¥数字」の他に、Perlと同じ「¥g{数字}」が使えるようになりました。(ただし、前方一致・後方一致の括弧は対象外)
秀丸エディタヘルプ↓↓↓
https://help.maruo.co.jp/hidemaru/html/190_CmdSearch_Regular_PerlTag.html
改行を含む検索は難しい
秀丸エディタにおける検索・置き換えのコツ・注意点としてもうひとつ、改行を含む検索についての制限があるようです。
※改行を含む検索を行う場合、2行までしかヒットしない仕様上の制限
3つ以上連続した改行をヒットさせたい場合、(?#maxlines:数値)という記述を書くことで回避可能(V8.00以降)
例えば、「(?#maxlines:10)\n+」という検索文字列の場合、連続した改行10個までを検索できます。
また、2行目以降(改行以降)に検索文字が含まれてている場合もヒットしないよう制限がかけられていますが、これも(?#fulllinematch)という記述で回避できるようです。
https://help.maruo.co.jp/hidemaru/html/190_CmdSearch_Regular_ReturnCodeLimit.html
個人的には、単純に改行をまたぐ置き換えを行いたい場合は、力技ですが一度改行を全部削除してしまってから検索・置き換えを行ってしまっていますね。
(改行の個数や、改行を残したい場合に問題が起きますが、その場合は全角の「@」など、文中に絶対出てこない文字と改行を置き換えて、最後に戻す、なんてことをしたりしています。)
コメント