正規表現メモ
■言語:PHP
■条件:全角、半角英数、アンダーバーのみにマッチ
mb_ereg_match('^([^ -~。-゚]|[a-zA-Z0-9_])*$', $str);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Perl互換のpreg_matchでは全角文字が使えない
ようなので、POSIXのmb_ereg_matchを使ってます。
半角英数とアンダーバーを意味する『\w』の文字クラスは
Perl互換独自のもののはずなのですが、なぜか
POSIXでも正常に使えました。
でも…、不安なので『[a-zA-Z0-9_]』にしてます。
【追記: 2010/07/11】
Perl互換系のpreg_matchでも、パターン修飾子『u』をつけることで
正規表現の中で日本語を使うことができます。
参考↓
preg_match('/^([^ -~。-゚]|[a-zA-Z0-9_])*$/u', $str);
http://ifs.seesaa.net/article/26300967.html