首页 >后端开发 >php教程 >正则表达式 - 关于PHP中大括号{}的一种用法

正则表达式 - 关于PHP中大括号{}的一种用法

WBOY
WBOY原创
2016-06-06 20:26:531285浏览

<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.jb51.net/tools/zhengze.html ,

这是故意黑php呢?

这里的{} 不是PHP语法里面的{},这个明显是匹配某个字符集的字符,和字符集相关!!!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn