Thread RegEx: Zeichenfolge darf in Zeichenkette nich vorkommen (9 answers)
Opened by burnersk at 2008-06-26 13:34

burnersk
 2008-06-26 13:34
#111544 #111544
User since
2008-03-25
83 Artikel
BenutzerIn
[default_avatar]
Hi,

ich habe ein Problem... ;)
Wenn ich folgende Zeichenkette habe:
Code: (dl )
<if ($if_eq > 0)><li><tpl src="if_eq.tpl" /></li></if>
und darauf den RegEx
Code (perl): (dl )
$template_code =~ m/<if \(([^\)]+)\)>(.*)<\/if>/is
anwende, erhalte ich:
Code (perl): (dl )
1
2
$1 = q~$if_eq > 0~;
$2 = q~<li><tpl src="if_eq.tpl" /></li>~


Meine Vorgabe ist, die innerste <if>-Anweisung zuerst abzuarbeiten. Blos wenn <if>-Anweisungen geschachtelt werden, kommt alles durcheinander.

Wie kann ich dem RegEx sagen, dass im $2-Bereich kein
Code (perl): (dl )
<if \(([^\)]+)\)>
vorkommen darf.

Ich habe das in einer while:
Code (perl): (dl )
1
2
3
4
5
6
7
while($template_code =~ m/<if \(([^\)]+)\)>(.*)<\/if>/is) {
    my $expr_if = $1;
    my $content_true = $2;
    my $content_false = '';
    
    warn($1, $2);
  }

View full thread RegEx: Zeichenfolge darf in Zeichenkette nich vorkommen