正規表現の一致範囲についてNo.23332
ma2ten さん 07/07/31 18:21
 
こんにちは。
正規表現検索についてちょっと教えていただけるでしょうか。

例えば「/AAA/bbbb/CCC/」という文字列に対して、
「/\w+/」または「/.+?/」のようなキー文字列で正規表現検索した時、
最初に"/AAA/"部分にヒットするのは良いとして、
次は"/CCC/"にヒットするのかと思ったら"/bbbb/"にヒットしてしまいました。
個人的には"/AAA/"の最後と"/bbbb/"の先頭の"/"が被ってしまっている事に違和感を
感じてしまうのですが、これはこういう仕様ということで合ってるのでしょうか?
それともやはりバグでしょうか?

ちなみにWindowsXPsp2で
・秀丸v6.13+HMJRE.DLL v1.80
・秀丸v7.00β18+HMJRE.DLL v1.85
の双方でこの現象を確認できました。

[ ]
RE:23332 正規表現の一致範囲についてNo.23334
Iranoan さん 07/07/31 18:56
 
 ma2ten さん今日は、Iranoan です。
 念の為お断りしておくと、開発者とは何の関わりも無い単なる一ユーザです。
> 個人的には"/AAA/"の最後と"/bbbb/"の先頭の"/"が被ってしまっている事に違和感を
> 感じてしまうのですが、これはこういう仕様ということで合ってるのでしょうか?
 これは仕様だと思います。理由は検索にヒットしたときのキャレットの位置
は、ヒットした範囲の先頭扱いだからです。これは正規表現を使っているかは
関係がありません。試しに AA で検索してみてください。

[ ]
RE:23334 正規表現の一致範囲についてNo.23335
ma2ten さん 07/07/31 19:12
 
> これは仕様だと思います。理由は検索にヒットしたときのキャレットの位置
>は、ヒットした範囲の先頭扱いだからです。これは正規表現を使っているかは
>関係がありません。試しに AA で検索してみてください。

なるほど、仕様でしたか。
確かに次の検索位置はヒット範囲先頭の次文字からになるようですね。
了解しました。

[ ]