hallo ich habe eine frage zu regulaeren ausdruecken. meine frage bezieht sich auf ein noch (glaube ich) einfach zu loesendes problem, nur am anfang sind die regex eben sehr schwer zu verstehen......
mein beispiel (fast wie im orginal script, nur aufs wesentliche gekuerzt):
ereg("<felix \(#\"(.+)*\"#\)>", "<felix (#\"funky\"#)> felix <felix (#\"dunky\"#)>", $resultat);
echo $resultat[1];
erlaeuterung:
mit der ereg fkt muss man leider vertraut sein.ich benutzte also folgenden regulaeren ausdruck: \(#\"(.+)*\"#\)
In resultat[1] stand "funky" solange das ende des strings direkt hinter "<felix (#\"funky\"#)> " war.
als ich den string verlaengert zu "<felix (#\"funky\"#)> felix <felix (#\"dunky\"#)>" war result[1] = "funky"#)> felix <felix (#"dunky"
der grund ist mir auch klar, nur wie bekomme ich hin das er nur bis zum ersten "#) sucht.
es muss da doch irgendeine ausschlussregel(mit diesem ^ teil???) oder till-first-letter-regel geben, wodurch meine bedingungen immer nur den string zwischen (#" "#) der selber kein "#) enthaelt!
besten dank fuer antworten!!!
mein beispiel (fast wie im orginal script, nur aufs wesentliche gekuerzt):
ereg("<felix \(#\"(.+)*\"#\)>", "<felix (#\"funky\"#)> felix <felix (#\"dunky\"#)>", $resultat);
echo $resultat[1];
erlaeuterung:
mit der ereg fkt muss man leider vertraut sein.ich benutzte also folgenden regulaeren ausdruck: \(#\"(.+)*\"#\)
In resultat[1] stand "funky" solange das ende des strings direkt hinter "<felix (#\"funky\"#)> " war.
als ich den string verlaengert zu "<felix (#\"funky\"#)> felix <felix (#\"dunky\"#)>" war result[1] = "funky"#)> felix <felix (#"dunky"
der grund ist mir auch klar, nur wie bekomme ich hin das er nur bis zum ersten "#) sucht.
es muss da doch irgendeine ausschlussregel(mit diesem ^ teil???) oder till-first-letter-regel geben, wodurch meine bedingungen immer nur den string zwischen (#" "#) der selber kein "#) enthaelt!
besten dank fuer antworten!!!
Kommentar