关于抑扬符'^'的用法
Will
Will 2017-11-08 17:11:58
0
2
2490

<?php
header('Content-Type: text/html; charset=utf-8');
$pattern='/[^0-9A-Za-z_]/';
$string='!$@!#%$#^##';
if(preg_match($pattern, $string,$match)){
    echo '匹配到了,结果为:';
    var_dump($match);
}
else{
    echo '没有匹配到';
}
?>

输出:匹配到了,结果为:array(1) {  [0]=>  string(1) "!" }

我不明白$string中有很多不在[^0-9A-Za-z_]的范围之内,为什么只输出一个'!'呢


Will
Will

全部回复(2)
寻觅 beyond

preg_match()只匹配一次,如果匹配到符合条件的内容就立即返回,不再继续匹配了,即使后面还有符合条件的。

寻觅 beyond

preg_match()只匹配一次,如果匹配到符合条件的内容就不再继续匹配,如果你要匹配所有符合条件的可以用preg_match_all($pattern,$string,$arr),$arr会保存匹配到的所有符合条件的内容

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板