2
正則表達式有困難(他們不是我的強項)。我想匹配之間的所有字符串{{和}},但如果在同一行上出現一套支架,它計數,作爲一個單一的比賽。例:PHP preg_match_all同一行
$string = "
Hello, kind sir
{{SHOULD_MATCH1}} {{SHOULD_MATCH2}}
welcome to
{{SHOULD_MATCH3}}
";
preg_match_all("/{{(.*)}}/", $string, $matches);
var_dump($matches); // returns arrays with 2 results instead of 3
回報:
array(2) {
[0]=>
array(2) {
[0]=>
string(35) "{{SHOULD_MATCH1}} {{SHOULD_MATCH2}}"
[1]=>
string(17) "{{SHOULD_MATCH3}}"
}
[1]=>
array(2) {
[0]=>
string(31) "SHOULD_MATCH1}} {{SHOULD_MATCH2"
[1]=>
string(13) "SHOULD_MATCH3"
}
}
任何幫助?謝謝!
或者你可以添加標誌 「U」 給力非貪婪模式。像'preg_match_all(「/{{(.*)}}/ U」,$ string,$ matches)' –
接受解釋,謝謝喬恩。 +1給Fab Sa以獲得正確答案。 – Mike