gudn tach!
nachfolgender regulärer Ausddruck dient der Suche nach Tags wie sie in Foren vorkommen, z.B. [quote], [quote:af259def2], [quote:af259def2="username"]: [...]
der code wuerde schon versagen, wenn zwei tags vorkommen, also z.b. bei
'1[tag:a:x]foo[/tag:a:x]2[tag:b:y]bar[/tag:b:y]'
denn (.|\n$)* matcht z.b. auch square brackets.
ein paar anmerkungen zur vereinfachung:
[[] ist dasselbe wie [
[]] ist dasselbe wie ]
[:|=] ist dasselbe wie [:|=]
in ([) bzw. (]) sind die runden klammern eigentlich ueberfluessig.
in ausdruecken wie
(((foo)(bar*))?)
wuerde ich nicht backreferences fuer jeden term erstellen. mit ?: kann man gruppieren ohne backreferences zu erstellen.
z.b.
(?:(?:(foo)(bar*))?)
Wenn ich jetzt den ausdruck verwende wird mir der Username jedoch vom Abschnitt 5 /...(.|\n$)*)?).../ gemeinsam mit Gleichheitszeichen und Anführungszeichen ausgegeben: ="username" statt username
Ich möchte gerne den usernamen ohne Anführungszeichen extrahieren und das Gleichheitszeichen durch 4 rausfiltern.
gib mal 'nen beispielstring an.
prost
seth