Ich habe folgenden BeispieltextProblem mit regulären Ausdrücken, um in PHP passend
The quick brown {fox} jumps over the lazy {dog}
ich jeden String eingeschlossen übereinstimmen muß in {}, die mehrmals im Text auftreten können.
Ich habe versucht, den folgenden Code, aber es funktioniert nicht richtig
<?php
$matches = array();
$string = "The quick brown {fox} jumps over the lazy {dog}";
preg_match("/\{(.*)\}/",$string,$matches);
print_r($matches);
?>
und das ist, was ich
Array
(
[0] => {fox} jumps over the lazy {dog}
[1] => fox} jumps over the lazy {dog
)
bekomme ich
Array
(
[0] => {fox} jumps over the lazy {dog}
[1] => fox
[2] => dog
)
So bekommen würde erwarten, wie kann ich PHP zwingen mit dem nächsten "}" übereinstimmen, anstatt mit dem letzten übereinzustimmen?
Das funktioniert gut. Würden Sie bitte die Verwendung von erklären? in diesem Fall ? Ist diese Nutzung dokumentiert? – AssemblerGuy
Die? ist ein Standardmerkmal von regulären Ausdrücken: siehe http://www.regular-expressions.info/repeat.html für Details zu Gier/Faulheit –