<code><?php$pattern = "/[\x{4e00}-\x{9fa5}]/u";//用来匹配utf-8的中文。$subject ="PHP好不好";preg_match($pattern, $subject, $result);print_r($result);//结果:Array ( [0] => 好 ) ?></code>
请问这里的{}是什么用法?为什么要这么用?
这个问题已被关闭,原因:与已有问题重复
回复内容:
<code><?php$pattern = "/[\x{4e00}-\x{9fa5}]/u";//用来匹配utf-8的中文。$subject ="PHP好不好";preg_match($pattern, $subject, $result);print_r($result);//结果:Array ( [0] => 好 ) ?></code>
请问这里的{}是什么用法?为什么要这么用?
很容易就可以找到啊http://www.regular-expressions.info/quickstart.html
Literal Characters段,Non-Printable Characters段都有说明这种使用方法
If your application supports Unicode, use \uFFFF or \x{FFFF} to insert a Unicode character. \u20AC or \x{20AC} matches the euro currency sign.
这和PHP无关,这是正则表达式的事
在这个场景下,是用16进制表示出UTF8中汉字编码的范围
供参考: http://www.regexlab.com/zh/deelx/syntax.htm , http://www.gaodaima.com/tools/zhengze.html ,
2本文来源gaodaima#com搞(代@码$网6
搞gaodaima代码
这是故意黑php呢?
这里的{} 不是PHP语法里面的{},这个明显是匹配某个字符集的字符,和字符集相关!!!