技術とか戦略とか

IT技術者が技術や戦略について書くブログです。

サクラエディタ:全角文字の検索方法(怒られ・半角カナ回避版)

サクラエディタ正規表現で下記の条件を指定することで、全角文字を指定することが可能です。
[^\x00\x00-\x7F\x00。-゚]
 
ネットには似たような指定方法が転がっていますが、正規表現に「dregonig.dll Ver.3.06 with Onigmo 5.15.0」を使用している場合は、これでないと「too short multibyte code string」(マルチバイトの定義になってないよ!)と怒られたり半角カナが引っかかったりします。
 
【説明】
・[^...]は否定です。[^a-c]と記述した場合、aとbとc以外の文字がヒットします。
・「\x00\x00-\x7F\x00」は、ASCIIコードで定義された半角文字を指定しています。
 「\x00-\x7F」だと怒られます。
・「。-゚」は半角カナを指定しています。
 「\xA1\x00-\xDF\x00」でも同じ意味になるはずなのですが、
 これだと何故か半角カナを回避できませんでした。
 (理由はわかりません…)
 
-----------------
 
2020/04/21 追記
 
>・「。-゚」は半角カナを指定しています。
> 「\xA1\x00-\xDF\x00」でも同じ意味になるはずなのですが、
> これだと何故か半角カナを回避できませんでした。
> (理由はわかりません…)
理由がわかりました。
正規表現で使用する文字コードSJISではなくUnicodeだからです。
Unicodeでは、0xFF61から0xFF9Fが半角カナの領域になります。
 
というわけで、こちらの指定でも上記指定と同じことができます。
明示的に文字コードを指定している分、こちらの指定の方が正確だと思います。
[^\x00\x00-\x7F\x00\x61\xFF-\x9F\xFF]