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}(非符号),等等。我不知道。那很有用!谢谢!:)