HMJRE.DLLに互換性の問題がNo.15681
Arimac さん 03/11/06 21:57
 
マクロ作者 会議室に投稿されているのですが、
http://www.maruo.co.jp/hidesoft/4/x03937_.html#3937
正規表現の'^'と'$'の解釈がJRE32.DLLとHMJRE.DLLで違うようです。

[ ]
RE:15681 HMJRE.DLLに互換性の問題がNo.15690
秀まるお2 さん 03/11/07 13:52
 
 HMJRE担当の斉藤秀夫がコメントしますと…。たしかに僕の予想してなかった
互換性問題があるのですね。まったく気づきませんでした。

 ということで、さっそく修正させていただきます。

[ ]
RE:15690 HMJRE.DLLに互換性の問題がNo.15691
秀まるお2 さん 03/11/07 14:12
 
 JRE32.DLLでは、「^」は純粋に正規表現パターンの一番先頭に書いた場合にし
か意味をなさないし、「$」も、パターンの最終に無いと絶対だめみたいですね。

 例えば、(^aaa)|(^bbb) のような表現での「^」は、その文字そのものという
意味になるようです。

 そういう仕様でもいいんですよねぇ。なんかバグのような気がしないでもない
ですが…。

 もし反論がありましたらお願いします。

[ ]
RE:15691 HMJRE.DLLに互換性の問題がNo.15692
IKKI さん 03/11/07 15:08
 
IKKI です。

>  例えば、(^aaa)|(^bbb) のような表現での「^」は、その文字そのものという
> 意味になるようです。
>
>  そういう仕様でもいいんですよねぇ。なんかバグのような気がしないでもない
> ですが…。

その仕様だと前方一致パターン内で「^」が使えなくなります。

現に http://hide.maruo.co.jp/lib/hilight/ikki_ruby_hilight.html の中で
(?<=(^|[^a-zA-Z0-9_$@.])(if|elsif|unless|when|while|until|and|or|not)[ \t]*
(\((\((\([^()]*\)|[^()])*\)|[^()])*\))?[ \t]*)/([^/]|\\/)*/[iomxnesu]*
という表現を使っているのですが…。

この点は JRE32 とは非互換ということでいいのではないでしょうか。

[ ]
RE:15692 HMJRE.DLLに互換性の問題がNo.15694
秀まるお2 さん 03/11/07 16:49
 
 とりあえず、

 xxxx^
 xxxx^xxxx
 xxxx$xxxx
 $xxxx

 のような絶対ヒットしないパターンだけJRE32.DLL互換にして、

 (^xxx)

 のようなパターンは現状のHMJRE.DLLのままにします。

[ ]
RE:15681 HMJRE.DLLに互換性の問題がNo.15713
六甲のおいしい水 さん 03/11/09 01:38
 
互換性の問題かどうかわかりませんが、一応ここにレス付けます。

秀丸4では、正規表現で例えば[a-z]としても、なぜか英大文字にもヒットしてしまい
ます。

「大文字・小文字の区別」にチェックを入れれば小文字だけヒットします。

なにかおかしいような...


以前はこのようなことはありませんでした。

[ ]
RE:15681 HMJRE.DLLに互換性の問題がNo.15714
六甲のおいしい水 さん 03/11/09 01:39
 
互換性の問題かどうかわかりませんが、一応ここにレス付けます。

秀丸4では、正規表現で例えば[a-z]としても、なぜか英大文字にもヒットしてしまい
ます。

「大文字・小文字の区別」にチェックを入れれば小文字だけヒットします。

なにかおかしいような...


バージョン3.xxはこのようなことはありませんでした。

[ ]
RE:15714 HMJRE.DLLに互換性の問題がNo.15715
Arimac さん 03/11/09 02:06
 
「秀丸エディタ Ver4.00 の新機能」
http://hide.maruo.co.jp/software/hidemaru400.html

「アルファベットの大文字小文字を区別せず正規表現を使用しての検索などの検索機
能自体の性能も 強
化されています。」
と書いてありますが・・・

[ ]