php 正则对于中文汉字字符的提取

    正则是个好东西 正则不光可以对英语字符 特殊字符进行提取 对于中文字符 日语字符等等都可以提取 再也不要用(.*?)来匹配了 而且 也不准确!

    放在例子先:取出下面字符中的所有中文字符:

$str = "这%里是^测&试*中$心,欢.迎e你4的6到k来,我r们a呜呜呜we这y里w安安生生et一ef直在努力gr着找寻啊啊最佳gr的伙伴,希望您的$$%加盟可以@推动他们GH团队高速发展!";
$code = "/[".chr(0xa1)."-".chr(0xff)."]+/";
preg_match_all($code,$str, $arr); //GB2312汉字字母数字下划线正则表达式
print_r($arr);

取出结果如下:

需要注意的这个是GBK的

下面再给出一个utf8的案例:

if (preg_match(‘/^[\x{4e00}-\x{9fa5}]+$/u‘, ‘中华人民共和国‘)){
echo ‘全是汉字‘;
}else{
echo ‘不全是汉字‘;
}
// 打印出 "全是汉字"


if (preg_match(‘/^[\x{4e00}-\x{9fa5}]+$/u‘, ‘中国 china‘)){
echo ‘全是汉字‘;
}else{
echo ‘不全是汉字‘;
}
//打印出"不全是汉字",
$str="这%里是^测&试*中$心,欢.迎e你4的6到k来";
$code=‘/^[\x{4e00}-\x{9fa5}]+$/u‘;

preg_match_all($code,$str,$arr);
//print_r($arr);


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。