|
■正規表現の改行の挙動に不具合
使用版: 秀丸 4.13 (正規表現ライブラリ HMJRE.DLL 1.12)
動作環境: Windows 2000 SP4
正規表現の改行の挙動に不具合があるようです。
例えば、「文字 < で始まらない行を xxx にする」という置換を実行します。
検索欄:[^[^<].*$]
置換欄:[xxx]
この正規表現を下記のサンプルテキストに適用すると、本当は333以外の行は
どの行もxxxになるはずですが、結果はそうはなりません。
-----[ sample.txt:適用前 ]---
111
222
<333>
444
555
---
-----[ sample.txt:適用後(期待した結果になりません) ]---
xxx
xxx
<333>
xxx444
xxx555
---
どうやら改行が不用意にマッチしてしまい、正しく実行されないようです。
そこで、検索欄を次のように書き直すと、期待通りの結果が得られます。
検索欄:[^[^<\n].*$]
行頭 ^ と行末 $ の間には、改行 \n は本来出現しないはずなので、ちょっと
不思議な感じの正規表現ですが。
|
|