正規表現について

たまに使う正規表現。

半角英数字だけが対象ならいいんですが、それ以上になるとややこしいので基本的には好きではありません。
でも、正規表現を使う関数がいろいろあります。

使えれば、それはかなり便利だと思います。

ereg、eregi、ereg_replace、eregi_replace、preg_match、、、などなど。

そして、比較対象として特定の文字列はもちろん、0-9、a-zのように、文字列の範囲指定というのもできます。
「数字のみ」「アルファベットが含まれる」などなど、指定方法は様々です。

これらを組み合わせて「URLが含まれる場合」ということも可能です。ややこしいですが。

^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$

みたいな感じで。

そんな中、今回私が困ってしまったのは「2バイト文字」でした。
日本人からしたら、日本語全般ですね。
これは、厄介でした。

なぜかというと、日本語はひらがなとカタカナだけではなかったからです。

「日本語が含まれる」という指定をしたかったのですが、まさか全部書き出すわけにもいかず、色々と調べまくった結果、出てきましたよー。

[一-龠あ-んア-ンーヽヾ]

こんな感じで指定すると、日本語が網羅できるみたいです。
実際に使ってみましたが、小さい文字までちゃんと判別してました。
ひらがな、カタカナは割りとメジャーかもしれませんが、漢字の範囲指定は初めて知ったので、感動して書き込んでしまいました。

コメントを残す