(?!の正規表現についてNo.24176
haru さん 07/12/12 11:44
 
windows 3.1
windows 2000


 上記、テキストを、以下の正規表現で検索した場合、
windows (?=95|98|NT|2000)・・・あ
windows (?!95|98|NT|2000)・・・い

 あ、はヒットしますが、
 い、はヒットしません。

 そういうものなんでしょうか?
 よろしくお願いします。

[ ]
RE:24176 (?!の正規表現についてNo.24181
秀まるお2 さん 07/12/12 15:25
 
 テストしてみたんですが、

> windows (?!95|98|NT|2000)・・・い

 これを、

 windows (?!(95|98|NT|2000))

 にすると目的の動作になるようです。

 そういう物と言ってしまえばそういう物なんですが、おかしいと言われるとお
かしいような気もします。で、BRegIf.dllを使ってテストしたら、こちらは括弧
で囲まなくてもうまく動作するようです。

 ということでこれはこれでバグということで修正させていただきます。

[ ]
RE:24181 (?!の正規表現についてNo.24182
秀まるお2 さん 07/12/12 16:29
 
 ソースコードを見直したらもろにバグでした。大変失礼しました。

 あと他に、

 (?<=a|c)x
 (?<!a|c)x

 とかのパターンも全部ダメみたいでした。

 秀丸メールのβ版の方で先にバグ修正版HmJre.dllを公開させていただきます。
秀丸エディタの方はちょっとタイミングが難しいかもしれないです。なのでとり
あえずは

    windows (?!(95|98|NT|2000))

 みたいな方法で回避して欲しいです。

[ ]
RE:24182 (?!の正規表現についてNo.24183
haru さん 07/12/13 13:44
 
> 秀丸メールのβ版の方で先にバグ修正版HmJre.dllを公開させていただきます。


> V5.00β5をアップロードしました。ということでまたテストの程お願いします。
>http://www.hidemaru.interlink.or.jp/software/bin2/hmmail500b5_signed.exe
> 付属するHmJre.dllがVersion 1.89になっているので、よかったらこれも(秀
>丸エディタでも)使って欲しいです。

 V5.00β6で確認しました。
 どちらも、うまく行きました。
 ありがとうございます。

[ ]