エディタにおける検索系の変な動作No.12414
Makkie さん 03/04/16 18:12
 
Makkie と申します。

転送メールなどのテンプレートで $(RootBody) とやると元メールが押
し返し禁止で取り出され、改行は↓ではなくて→で表示されます。この
ときの問題点です。簡略化した例で説明します。

(第1行)aaaaaaaa→
(第2行)→
(第3行)→
(第4行)bbbbbbbb→

というようなメールがあったとき
    「改行だけの行が2つ連続しているところにヒットさせる」
目的で

^\n\n  (正規表現)

とやると、検索は正常ですが、検索の結果の範囲選択が第2行と第3行
ではなく、第2行だけになってしまいます(検索の結果=範囲選択とい
うモードで利用する前提)。同様のことを置換でやると、置換の対象も
第2行だけでになります(これが原因で、秀丸で正常動作するマクロが
動きませんでした)。

こういったたぐいの正規表現はやっちゃいけない(違反?)のでしょう
か。普通の改行では、秀丸も鶴亀も全く意図どおりに動作します。

鶴亀 2.64です。

よろしくお願いします。

[ ]
RE:12414 エディタにおける検索系の変な動No.12416
秀まるお2 さん 03/04/16 18:26
 
 右矢印の改行は、内部的に特殊な改行文字を使ってまして、それがそのまま正
規表現DLL(JRE32.DLL)に検索対象として渡ってしまうといろいろおかしなこと
が起きます。

 今回の話は、そのおかしなケースと思われます。なので、調査してわかり次第
修正させていただきます。

[ ]
RE:12414 エディタにおける検索系の変な動No.12417
ひろ さん 03/04/16 18:41
 
 Makkie さん今日は、ひろです。
>     「改行だけの行が2つ連続しているところにヒットさせる」
> 目的で
>
> ^\n\n  (正規表現)
>
> とやると、検索は正常ですが、検索の結果の範囲選択が第2行と第3行
> ではなく、第2行だけになってしまいます(検索の結果=範囲選択とい
> うモードで利用する前提)。同様のことを置換でやると、置換の対象も
> 第2行だけでになります(これが原因で、秀丸で正常動作するマクロが
> 動きませんでした)。
 正しく範囲選択されるかどうかは置いておいても、置換されるということは
2 行が検索にヒットしているのに、1 行しか削除されない??? →確かにおかし
いですね。

 次に範囲選択についてですが、折り返し禁止行の改行は、改行だけで検索し
た場合、検索で範囲選択されませんね。他の文字と組み合わせれば範囲選択す
るのに。

[ ]
RE:12416 エディタにおける検索系の変な動No.12443
Makkie さん 03/04/18 20:11
 
> 今回の話は、そのおかしなケースと思われます。なので、調査してわかり次第
>修正させていただきます。

V2.68で正常に動作することを確認しました(秀丸用に作ったマクロ
もうまく動きました)。ありがとうございました。

[ ]