基础 - 匹配中文 ¶
作者:KK
发表日期:2017.7.9
要点速读 ¶
/[\u4E00-\u9FA5]+/
能匹配到abc中国人123
里的“中国人”[\u4E00-\u9FA5]
是Unicode的中文编码区间但是在PHP里要写成
#[\x{4E00}-\x{9FA5}]+#u
这样,区间里不是\u
而是\x
,而最后还要加上小写的u
来开启一个UTF8字符模式(大概这么说吧,其实不准确,自己深入学习吧)
JS代码 ¶
console.log(
'abc中国人123'.match(/[\u4E00-\u9FA5]+/)[0] // 中国人
);
console.log(
'52345abc'.match(/[\u4E00-\u9FA5]+/) // null
);
PHP代码 ¶
header('Content-type:text/plain');
preg_match('#[\x{4E00}-\x{9FA5}]+#u', 'abc中国人123', $matchResult1);
print_r($matchResult1); // 中国人
preg_match('#[\x{4E00}-\x{9FA5}]+#u', '52345abc', $matchResult2);
print_r($matchResult2); // 空数组,失败