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

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

WBOY
WBOYOriginal
2016-06-06 20:26:531285Durchsuche

<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语法里面的{},这个明显是匹配某个字符集的字符,和字符集相关!!!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn