Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 有没有一种方法可以返回与此正则表达式相反的结果?_Regex - Fatal编程技术网

Regex 有没有一种方法可以返回与此正则表达式相反的结果?

Regex 有没有一种方法可以返回与此正则表达式相反的结果?,regex,Regex,有没有一种方法可以返回与此正则表达式相反的结果 preg_match_all('/\p{Han}+/u', '道斯·麥克', $matches); 我希望$matches返回一个包含“·”字符的数组,而不是一个汉字数组 谢谢 使用反向类,\p{Han}+: if (preg_match_all('/\P{Han}+/u', '道斯·麥克', $matches)) { print_r($matches[0]); // => Array ( [0] => · ) } 见 当\

有没有一种方法可以返回与此正则表达式相反的结果

preg_match_all('/\p{Han}+/u', '道斯·麥克', $matches);
我希望
$matches
返回一个包含“·”字符的数组,而不是一个汉字数组


谢谢

使用反向类,
\p{Han}+

if (preg_match_all('/\P{Han}+/u', '道斯·麥克', $matches))
{
    print_r($matches[0]); // => Array ( [0] => · )
}

\p{Han}
匹配所有中文字符时,
\p{Han}
匹配除这些字符以外的任何字符


其他Unicode属性类也是如此:每个
\p{X}
都有一个反向
\p{X}
\p{L}
匹配任何Unicode字母,
\p{L}
匹配除Unicode字母外的任何字符。参见
\p{N}
(数字)\p{N}(非数字),
\p{S}
(符号)\p{S}(非符号),等等。

我不知道。那很有用!谢谢!:)