Ich verwende derzeit 3 verschiedene reguläre Ausdrücke in einem preg_match, indem ich das oder -Zeichen | um sie zu trennen. Das funktioniert perfekt. Der erste und der zweite Regex haben jedoch den gleichen Ausgabetyp. z.B. [0] Quelltext [1] Zahl Betrag [2] Name - jedoch der letzte, da es eine andere Anordnung von Quelltext verwendet: [0] Quelltext [1] Name [2] Anzahl Betrag.Knifflige Frage: Wie man Ergebnisse von mehreren Regexes anordnet
preg_match('/^Guo (\d+) Cars @(\w+)|^AV (\d+) Cars @(\w+)|^@(\w+) (\d+) [#]?av/i', $source, $output);
Da Name
der Lage ist, numerisch sein ich nicht eine einfache Prüfung tun können, um zu sehen, ob es numerisch ist. Gibt es einen Weg, ich kann entweder die Reihenfolge in der Regex oder identifizieren, welche Regex es auch abgestimmt. Geschwindigkeit ist hier von entscheidender Bedeutung, also wollte ich nicht 3 separate preg_match-Anweisungen verwenden (und weitere werden folgen).
Hallo Martijn, Vielen Dank für Ihre Antwort, Sie haben Recht die PCRE nicht mit der DUPNAMES Option hier zusammengestellt Sinn kann ich nicht Verwenden Sie die gleichen Gruppennamen. Ich war mir nicht bewusst, dass separate REGEX könnte schneller sein. Ich habe dort noch kein Benchmarking durchgeführt. – Ice