Regex matcht nicht alles, was gematcht werden soll
Rato Micefarmer
- php
0 seth
Hallo!
ich habe diese Frage schonmal gestellt, doch die Nachricht ist ins Archiv gewandert, bevor ich brauchbare Antworten bekam. also:
ich habe folgenden Regex:
/(\\*)({?)$(([a-zA-Z_\x7f-\xff][\w\x7f-\xff]*)(->[a-zA-Z_\x7f-\xff][\w\x7f-\xff]*)?([[\w\x7f-\xff]+])*)(}?)/
Dieser soll auf Ausdrücke, die normalerweise eine Variable darstellen matchen, also auf sowas z.B.:
$variablen_name
{$BLABLA23}
\$foo[BAR]}
$Cart->items
$Cart->items[33]
Doch das funktioniert nicht komplett. Nehmen wir folgenden Beispielstring:
\$janoch}mals
$Cart->items}{$Cart->items[nr.33]}
Der obige Regex matcht hierbei auf '\$janoch}' und auf '$Cart->items}', jedoch nicht auf '{$Cart->items[nr.33]}'. Bei letzterem liefert er mir nur '{$Cart->items'. Das in den eckigen KLammern und die schliessende geschwungene Klammer wird ignoriert, was jedoch nicht so sein soll.
Kann mir hier jemand einen Tipp geben, was an meinem Regex falsch ist?
mfg
Rato
gudn tach!
\$janoch}mals
$Cart->items}{$Cart->items[nr.33]}Der obige Regex matcht hierbei auf '\$janoch}' und auf '$Cart->items}', jedoch nicht auf '{$Cart->items[nr.33]}'. Bei letzterem liefert er mir nur '{$Cart->items'. Das in den eckigen KLammern und die schliessende geschwungene Klammer wird ignoriert, was jedoch nicht so sein soll.
Kann mir hier jemand einen Tipp geben, was an meinem Regex falsch ist?
[\w\x7f-\xff] matcht keinen punkt.
prost
seth
[\w\x7f-\xff] matcht keinen punkt.
Danke, das wars.
mfg
Rato