番号エスケープで検索できない文字No.05114
ぎんNaN さん 10/02/05 19:25
 
正規表現で
・キャラクタクラス"[ux00e0]"から"[ux00ff]"までの単一文字
・キャラクタクラス外での"\xa0"から"\xff"
が検索できないと共に、

・キャラクタクラス最後の出現"\xe0"から"\xfc"
で【エラー:正規表現パターンでのカッコの対応が合ってません。】が出ます。

Version 8.00 Beta 40 / HmJre.dll V3.09

[ ]
RE:05114 番号エスケープで検索できない文No.05122
秀まるお さん 10/02/08 10:56
 
> ・キャラクタクラス"[ux00e0]"から"[ux00ff]"までの単一文字

 調べてみたら、バグってました。大変失礼しました。

 すぐに修正させていただきます。

> ・キャラクタクラス外での"\xa0"から"\xff"
> が検索できないと共に、
>
> ・キャラクタクラス最後の出現"\xe0"から"\xfc"
> で【エラー:正規表現パターンでのカッコの対応が合ってません。】が出ます。

 日本語ファイルを開いている場合だと、\xe0と書いた場合は、それは漢字の1
バイト目扱いになってしまいます。なので、例えば

 \xe0]

 と書くと、16進数で「805D」の文字を指定した扱いになってしまいます。つ
まりその「\xe0]」で1つの全角文字を指定した扱いと解釈されるために、カッ
コの対応が合わない、というようなエラーになってしまいます。


 ユニコードでの「0x80〜0xff」の範囲の文字を指定するには、やはり[\uXXXX]
を使っていただくしか無いです。

 ということで、とにかくバグ修正して、バグ修正したバージョンを次の秀丸エ
ディタβ版に添付させていただきます。

[ ]
RE:05122 番号エスケープで検索できない文No.05126
ぎんNaN さん 10/02/08 17:33
 
> すぐに修正させていただきます。
いつもどうもありがとうございます。


> 日本語ファイルを開いている場合だと、\xe0と書いた場合は、それは漢字の1
>バイト目扱いになってしまいます。エラーになってしまいます。
UTF-8でもエラーになってしまうので書かせていただいた次第です。

> ユニコードでの「0x80〜0xff」の範囲の文字を指定するには、やはり[\uXXXX]
>を使っていただくしか無いです。
承知いたしました。

[ ]