Beat: Regex Problem mit Oder Verknüpfung

Beitrag lesen

Ich habe es so versucht:
if (preg_match_all('#($var_[0-9]{1,3})|($var_[0-9]{1,3}_[0-9]{1})#', $string, $contents)){

Die Ausgabe mit print_r($contents) bringt mir immer nur die Werte von der ersten Abfrage dafür aber doppelt.
Was mache ich falsch?

Es wird immer nach der ersten Möglichkeit in einem (|) gesucht, nis diese versagt. Die versagt hier aber nicht.

Du musst deshalb die Reihenfolge umstellen.

#$var_(\d{1,3}_\d|\d{1,3})#

Versagt die erste Variante, wird die zweite verwendet.

mfg Beat

--
Surftipp:
Die NATO
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische