關於抑揚符'^'的用法
Will
Will 2017-11-08 17:11:58
0
2
2481

<?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會保存匹配到的所有符合條件的內容

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板