Henryk Plötz: URL-String intelligent kürzen

Beitrag lesen

Moin,

Was spricht gegen s!http://(?:www.)?([^/]+)/.*/([^/]*)!\1/.../\2^!?

Die Performance-Bremse (?:www.)?   ;-)

-v bitte. Also ich weiss ja nicht wie die handelsüblichen RegExp-Engines das behandeln, aber so wie ich es gelernt habe stellt das keine besondere Belastung dar.

Insbes. weil dort anstelle von . . stehen sollte

Jaja, schon gut, den vergesse ich bei solchen Gelegenheiten immer :)

aber da das keinen / enthält und wegen des folgenden ? optional ist, wird es vom folgenden ([^/]+) mit-erfaßt.

Hier[tm] nicht. Per default ist erstmal alles greedy und wenn da was zum Fressen ist dann wird es gefressen. Mir ist noch keine RegExp-Engine begegnet die eigenmächtig die Ausdrücke umsortieren wollte (was mit den darunterliegenden DFAs auch 'etwas' schwierig wäre).

Und warum setzt Du ans Ende der gekürzten URL ein ^?

Fipptehler.

Ein $ mehr kann auch nicht schaden (vor dem 2.!) - ich verlaß mich lieber nicht auf die Greedy-Eigenschaften.

Ich schon. Also ich hatte überlegt es reinzusetzen, bin dann aber zu dem Schluß gekommen dass es nicht nötig ist.

--
Henryk Plötz
Grüße aus Berlin
~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~