如何用正则提取中文字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用正则提取中文字符相关的知识,希望对你有一定的参考价值。
1.首先得把字符串转成utf-8的格式:
$str = iconv(charset, ‘utf-8‘, $str);//charset为你的字符原来的格式,包括:gb2312(简体中文),big5(繁体中文),utf8
2.使用preg_match_all进行提取:
preg_match_all(‘/[\x{4e00}-\x{9fa5}]+/u‘, $str, $r);
中文在utf8中代码是\u4e00-\u9fa5,但是是十六进制,所以转换成\x,这样得到的$r为二维数组,这个preg_match_all()函数第四个参数还有一个默认的PREG_PATTERN_ORDER,具体可以参考手册
以上是关于如何用正则提取中文字符的主要内容,如果未能解决你的问题,请参考以下文章
java如何用正则表达式提取#之间的字符串。例如cc#aaaaa#jdi#bbbbb#ji,需要提取aaaaa和bbbbb两个字符串。