絶対分かる正規表現 ~全角(日本語)を検索する~

regular-expression.jpg

英語サイトを作っていたら「全角を検索で見つけ出してほしい」と言われました。
全角の「」や「」が混じっていることもあるためです。

正規表現 全角」で検索すると
[^\x01-\x7E]を使うというページにザクザクヒットします。

[^\x01-\x7E]とは、「全角を探すのは果てしないので、
1バイト文字ではないものを探す」という書き方で、
「x01からx7Eまでの文字以外(^は後に続く文字以外の意味)」という意味です。

では、実際にはx01からx7Eまでの文字って何かというと、
「文字コード accii」で検索すれば下↓のようなサイトにヒットします。
http://e-words.jp/p/r-ascii.html

! ” # $ % & ‘ ( ) * + , – . / 01 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~

[^0x00-0x7f]でもよさそうですが・・・

なんか1年目のプログラマーの人が勉強してそうな内容ですね。
改めて、日本語の文字の多さに驚いてしまいました。

([^\x01-\x7E]による正規表現での全角ヒットは、UTF-8でさくらエディタ、DreamWeaverで動作確認できました。)

半角カナは1バイト以外に該当します

2014/10追記します。

正規表現を解析して可視化してくれるサイトが凄すぎる件という記事が話題になってます。・・・本当にすごい。