sakura icon indicating copy to clipboard operation
sakura copied to clipboard

正規表現での検索文字に\xHHが使えない

Open halt76 opened this issue 1 year ago • 2 comments

正規表現での検索文字に \nnn や \xHH が使えません。 too short multibyte code string というエラーが出ます。 \o{nnn} や \x{HHHH} ならば使えています。 また、置換文字には \nnn も \xHH も使えます。 ヘルプを見ると検索文字に使えるような感じなのですが、サクラと bregonig どちらかの不具合でしょうか。

halt76 avatar Feb 23 '24 12:02 halt76

ヘルプの記載

利用可能な正規表現

試してみた

ほぼ最新のサクラエディタで試してみました。

No パターン 成否
1 \x20 エラー(too short multibyte code string)
2 \x0020 エラー(too short multibyte code string)
3 \x{0020} 正常に検索される
4 \040 エラー(too short multibyte code string)
5 \o040 検索されて「"\o040"が見つかりません」になる
6 \o{040} 正常に検索される
  • 5については「使える」と書いてない
  • 1, 2, 4の挙動について、ヘルプと合ってない

私見

サクラと bregonig どちらかの不具合でしょうか。

メッセージを見る限りだと、サクラエディタのバグっぽく見えますね。

サクラエディタはv2からbregonigをワイド文字モードで呼び出すように変えていますが、 bregonig.dllがマルチバイトのエラーを返却しているように見えます。 bregonig.dll側に不具合「ワイド文字モードで使えない正規表現」があったとして、 対応責任は呼び出し側にある気がします。

対応するならまず原因調査ですかねぇ。

berryzplus avatar Feb 24 '24 17:02 berryzplus

古い2chのログ当たりに書いてあると思いますが、bregexpと昔のbregonigは\xHHが使えました。 がbregonigの途中のバージョンで仕様変更されたけど古いヘルプがそのまま残ってる状態です。

usagisita avatar Apr 04 '24 10:04 usagisita