[転送] UTF-8 漢字正規表現、utf-8 漢字正規表現_PHP チュートリアル

WBOY
リリース: 2016-07-13 09:45:15
オリジナル
1197 人が閲覧しました

【移転】UTF-8漢字正規表現、utf-8漢字正規表現

元リンク:http://blog.csdn.net/wide288/article/details/30066639

$str = "プログラミング";
// if(!preg_match("/^[x{4e00}-x{9fa5}A-Za-z0-9_]+$/u",$str)) //UTF -8 漢字英数字下線正規表現
if(!preg_match("/^[x{4e00}-x{9fa5}]+$/u",$str)) //UTF-8 漢字英数字下線正規表現 計算式

}

-------------------------------------

UTF-8 マッチング:

JavaScript では、文字列が中国語かどうかを判断するのは非常に簡単です。例: var str = "phpプログラミング"; if (/^[u4e00-u9fa5]+$/.test(str)) {alert("この文字列はすべて中国語です") } else{すべてが中国語であるわけではありません"); }

php では、x は 16 進数のデータを表すために使用されます。したがって、次のコードに変換されます: $str = "php programming"; if (preg_match("/^[x4e00-x9fa5]+$/",$str)) { print("この文字列はすべて中国語です" ); } else { print("文字列の一部が中国語ではありません"); どうやら $str を "programming" という単語に置き換えると、エラーは報告されなくなったようです。 、結果はまだ「文字列のすべてが中国語ではありません。中国語です。」と表示されますが、この判断はまだ十分正確ではないようです。

重要: 「正規表現に精通している」をチェックした後、[x4e00-x9fa5] については自分で説明を強化したことがわかりました

PHP の正規表現では、[x4e00-x9fa5] は実際には文字と文字グループの組み合わせです。 , x{hex} は 16 進数を表します。hex は 1 ~ 2 桁または 4 桁にすることができますが、4 桁の場合は波括弧を追加する必要があります。 x{FF} より大きい 16 進数。u 修飾子と一緒に使用する必要があります。そうでないと、不正なエラーが発生します

。インターネット上では、全角文字を一致させるための規則が見つかりません: ^[x80-xff]*^。 / 、ここで中括弧を追加する必要はありません [u4e00 -u9fa5] は中国語と一致しますが、PHP はそれをサポートしていません。ただし、x で表される 16 進数データが​​、で提供される x4e00 ~ x9fa5 の範囲と異なるのはなぜですか。 js?そこで、以下のコードに変更したところ、それが非常に正確であることがわかりました。 $str = "php programming" if (preg_match("/^[x{4e00}-x{9fa5}]+$/u",$str ) ) { print("この文字列はすべて中国語です"); } else { print("この文字列はすべて中国語ではありません") }
PHP で UTF-8 エンコードで正規表現を使用した場合の最終結果はわかります。正しい表現 - /^[x{4e00}-x{9fa5}]+$/u。上記の記事を参照して、次のテスト コードを作成します (次のコードをコピーし、.php ファイルとして保存します)


GBK:
preg_match("/^[".chr(0xa1)."-".chr( 0xff)."A-Za-z0-9_]+$/ ",$str); //GB2312 漢字英数字下線正規表現




http://www.bkjia.com/PHPjc/1042014.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/1042014.html技術記事 [転送] UTF-8 漢字正規表現、utf-8 漢字正規表現原文リンク: http://blog.csdn.net/wide288/article/details/30066639 $str = "プログラミング"; ! preg_match("/^[x{4e00...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート