preg_match 匹配中文
程序员文章站
2022-04-22 11:32:34
...
preg_match 匹配中文出错
2010年01月06日 星期三 14:55
错误提示:
Warning: preg_match() [function.preg-match]: Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 2 in XXXXX on line 3
错误原因:
preg_match("/^[\u4e00-\u9fa5]{1,4}$/",$str);
在使用上述代码匹配汉字时,出现如题错误。
测试1:
preg_match("/^[\u4e00-\u9fa5]{1,4}/",$str);
去掉结尾的“$”,错误依旧。
测试2:
preg_match("/^[\x4e00-\x9fa5]{1,4}/",$str);
将u改为“x”,错误消失,但是匹配失败。
测试3:
preg_match("/^[\x{4e00}-\x{9fa5}]{1,4}/",$str);
加上大括号,错误提示:
<b>Warning</b>: preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: character value in \x{...} sequence is too large at offset 9 in <b>D:XXX.php</b> on line <b>25</b><br />
测试4:
preg_match("/^[\x{4e00}-\x{9fa5}]{1,4}/u",$str);
加入参数u,错误消失,匹配正确。
另外一个方法:放弃使用preg_match函数,改用ereg(),直接解决~
=============================
特别注意加小写的u
2010年01月06日 星期三 14:55
错误提示:
Warning: preg_match() [function.preg-match]: Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 2 in XXXXX on line 3
错误原因:
preg_match("/^[\u4e00-\u9fa5]{1,4}$/",$str);
在使用上述代码匹配汉字时,出现如题错误。
测试1:
preg_match("/^[\u4e00-\u9fa5]{1,4}/",$str);
去掉结尾的“$”,错误依旧。
测试2:
preg_match("/^[\x4e00-\x9fa5]{1,4}/",$str);
将u改为“x”,错误消失,但是匹配失败。
测试3:
preg_match("/^[\x{4e00}-\x{9fa5}]{1,4}/",$str);
加上大括号,错误提示:
<b>Warning</b>: preg_match() [<a href='function.preg-match'>function.preg-match</a>]: Compilation failed: character value in \x{...} sequence is too large at offset 9 in <b>D:XXX.php</b> on line <b>25</b><br />
测试4:
preg_match("/^[\x{4e00}-\x{9fa5}]{1,4}/u",$str);
加入参数u,错误消失,匹配正确。
另外一个方法:放弃使用preg_match函数,改用ereg(),直接解决~
=============================
特别注意加小写的u
推荐阅读
-
查看修改mysql编码方式让它支持中文(gbk或者utf8)_MySQL
-
Win10正式版家庭简体中文ESD镜像下载地址(32/64位)
-
在PHP中用描点法“绘制”中文_PHP教程
-
唉,phpmyadmin中文乱码有关问题。
-
javascript - 如何匹配"height:12px;width:56px;background:#fff;"中间的"width:56px;"?
-
正则如何匹配Theme/Home/images/logo.jpg的logo.jpg?
-
搜索引擎 - php+mysql中文站搜索目前用什么方案
-
【置顶】有木有晓得正则表达式中的嵌套匹配的语法的
-
Java NIO中文版读书记录
-
解决3.01版的jquery.form.js中文乱码问题的解决方法_jquery