Ich bin gerade dabei ein eigenes template system zu schreiben und komme nicht weiter bei den regex.
Für die Variablen benutze ich eine eigene Syntax, die es erlaubt andere Variablen in der aufgerufenen Variablen aufzurufen, beliebig oft und beliebig verschachtelt. So sieht es aus:
Normaler Aufruf: {keyname}
Die vorher definierte Variable "keyname" wird aufgerufen.
Bedingter Aufruf: {if.keyname:abc|xyz}
Nur wen "keyname" definiert wurde wird "abc" ausgegeben, andernfalls "xyz".
Rekursiver Aufruf: {if.keyname: {key2}|{if.key3:xyz}}
Wenn "keyname defniert wurde, dann die Variable "key2" aufrufen, andernfalls, wenn "key3" definiert wurde, "xyz" ausgeben.
usw.
Wie kriege ich eine brauchbare Rekursion hin?
(Ich will nicht das regex für diese Syntax, da es nur ein kleines Beispiel war. Ich will nur wissen, wie ich generell Verschachtelungen mit regex hinbekommen kann.)
Für die Variablen benutze ich eine eigene Syntax, die es erlaubt andere Variablen in der aufgerufenen Variablen aufzurufen, beliebig oft und beliebig verschachtelt. So sieht es aus:
Normaler Aufruf: {keyname}
Die vorher definierte Variable "keyname" wird aufgerufen.
Bedingter Aufruf: {if.keyname:abc|xyz}
Nur wen "keyname" definiert wurde wird "abc" ausgegeben, andernfalls "xyz".
Rekursiver Aufruf: {if.keyname: {key2}|{if.key3:xyz}}
Wenn "keyname defniert wurde, dann die Variable "key2" aufrufen, andernfalls, wenn "key3" definiert wurde, "xyz" ausgeben.
usw.
Wie kriege ich eine brauchbare Rekursion hin?
(Ich will nicht das regex für diese Syntax, da es nur ein kleines Beispiel war. Ich will nur wissen, wie ich generell Verschachtelungen mit regex hinbekommen kann.)
Kommentar