如何用正则提取中文字符

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,具体可以参考手册

以上是关于如何用正则提取中文字符的主要内容,如果未能解决你的问题,请参考以下文章

如何用excel中的VBA的正则表达式提取出字符串?

答果子问R语言如何用正则表达式提取特定的字符串

如何用正则提取括号内的字符

c语言下如何用正则或者字符串查找匹配特定字符串并提取出来

js 如何用正则表达式提取数据

java如何用正则表达式提取#之间的字符串。例如cc#aaaaa#jdi#bbbbb#ji,需要提取aaaaa和bbbbb两个字符串。