1. 程式人生 > >正則匹配大小寫字母、漢字、特殊字元,並統計次數

正則匹配大小寫字母、漢字、特殊字元,並統計次數

<?php     header('Content-Type:text/html;charset=utf-8');     $subject='[email protected] 是 &nbsp;';     $a = $b = $c = $d = $e = 0;     for ($i=0; $i < mb_strlen($subject,'utf8'); $i++) {         $obj = mb_substr($subject,$i,1,'utf-8'); //將單個字元存到陣列當中         if(preg_match('/^[a-z]$/', $obj)){
            $count['xx'] = ++$a;             echo $obj.'-小寫字母'."<br>";         }elseif(preg_match('/^[A-Z]$/', $obj)){             $count['dx'] = ++$b;             echo $obj.'-大寫字母'."<br>";         }elseif(preg_match('/^[0-9]$/', $obj)){             $count['sz'] = ++$c;             echo $obj.'-數字'."<br>";
        }elseif(preg_match("/^[\x{4e00}-\x{9fa5}]$/u", $obj)){             $count['hz'] = ++$d;             echo $obj.'-漢字'."<br>";         }else{             $count['ts'] = ++$e;             echo $obj."-特殊字元"."<br>";         }     }     echo "<pre>";     print_r($count);     echo "</pre>";
?> 結果: Q-大寫字母
5-數字
4-數字
@-特殊字元
3-數字
5-數字
4-數字
e-小寫字母
-特殊字元
是-漢字
-特殊字元
&-特殊字元
n-小寫字母
b-小寫字母
s-小寫字母
p-小寫字母
;-特殊字元
Array
(
    [dx] => 1
    [sz] => 5
    [ts] => 5
    [xx] => 5
    [hz] => 1
)