正規表現についてNo.05209
colder さん 10/02/24 22:13
 
正規表現を使って検索するとき、
前方一致/不一致を使っていないにもかかわらず、
ヒットするはずの部分の前方にある文字列の内容により、
ヒットしなくなることがあるようです。

テストケース
正規表現「([0-9]+[:/])+[0-9]+」
文字列1「1:[2010/02/24]」
文字列2「a:[2010/02/24]」

このケースで文字列2にはヒットしますが、文字列1にはヒットしないようです。

環境:XP+秀丸v8.00β43+hmjre.dll v3.11

[ ]
RE:05209 正規表現についてNo.05212
秀まるお さん 10/02/25 08:55
 
 毎度バグ情報ありがとうございます。このテストパターンについて調べてみた
ら、たしかにバグってました。

 特定の位置以降についてヒットする可能性が無くなったら一切チェックしない、
みたいな高速化のための処理があちこちにあるんですが、それの一部に不当な判
定があってダメでした。昔からのバグでした。

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

[ ]