この記事の主な内容は、一定の参考価値のある PHP の PCRE 定期解析に関するものですので、興味のある方はぜひ知っていただき、お役に立てれば幸いです。
1. はじめに
前回のブログでは、文字セットの分析がありました。これは文字セットに関するものではなく、PHP の多くの関数はデフォルトで UTF-8 エンコード形式を Unicode で処理します。それでは早速、本題に入りましょう。
#2. PHP 関数 mb_split 分析
1 <?php 2 $preg_strings = '测、试、一、下'; 3 $preg_str = mb_split('、', $preg_strings); 4 print_r($preg_str);
結果の出力:
Array( [0] => 测 [1] => 试 [2] => 一 [3] => 下)
この関数のデフォルトは、UTF-8 エンコード形式で解析される基礎となる解析です。文字 $preg_strings は、区切り文字 (,) を使用して UNICODE の 16 進コード ポイントで区切られます。
3. PHP 関数 preg_split 分析
文字列 "Test it" を分割します
1 <?php 2 $strings = '测试一下'; 3 $mb_arr = preg_split('//u', $strings, -1, PREG_SPLIT_NO_EMPTY); 4 print_r($mb_arr);
出力結果は次のとおりです:
Array( [0] => 测 [1] => 试 [2] => 一 [3] => 下 )
4. /u 解析中PCRE
PHP では、通常の区切り文字は #、%、/ などです。
#正規表現の背後に修飾子が含まれる場合があります。では、それらは何を意味するのでしょうか?
例:
%[\x{4e00}-\x{9fa5}]+%u
次の修飾子uコード テーブルを使用します。 utf-8 の エンコード形式に一致する通常のマッチング。
例 1:
1 <?php 2 $strings = '测试一下'; 3 $is_true = preg_match_all('%[\x{4e00}-\x{9fa5}]+%u', $strings, $match); 4 var_dump($is_true);
印刷結果は次のとおりです:
Array( [0] => Array ( [0] => 测试一下 ) )
# # ここ [\x{4e00}-\x{9fa5}]これはどういう意味ですか?
PHP の通常のコードでは、16 進数を表すために\x が使用されます。
中国語のUNICODE コード ポイント は 4E00 ~ 9FFF です (ここでは 16 進数について説明します)
[], [\x{4E00}-\x{9FFF}]
##これら 2 つの通常のルールです。効果は次のとおりです。同じ。
関連チュートリアル: PHP ビデオ チュートリアル
以上がPHP PCRE定期分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。