伊莉討論區
標題:
正則表達式匹配一問
[打印本頁]
作者:
llllik
時間:
2016-3-26 10:27 AM
標題:
正則表達式匹配一問
本帖最後由 llllik 於 2016-3-26 10:30 AM 編輯
請問一下,為什麼Output是 'ab',而不是 'abc'??
<?php
$pattern = '/^(?:[^"]*)(?!")/i';
$str = 'abc":def,ghi';
preg_match($pattern, $str, $matches);
var_dump($matches);
?>
複製代碼
OutPut:
array (size=2)
0 => string 'ab' (length=2)
作者:
snowflying
時間:
2016-3-28 12:41 AM
$pattern = '/^(?:[^"]*)(?!")/i';
如果沒有 (?!")
那麼結果會是 abc
(?!") 會看下一個是不是 " (negative lookahead,若是的話則不符合)
abc 下一項是 ",所以只能匹配到 ab
歡迎光臨 伊莉討論區 (http://www4.eyny.com/)
Powered by Discuz!