Re: kleines RegEx Problem
Andreas schriebst am 24. May um 03:06 Uhr:
> '^([^_]+)_([^_]+)(_.+)*(\.orig\.tar\.gz|\.tar\.gz|\.diff\.gz|\.dsc|\.deb|\.udeb|\.package|\.source)$'
>
> Das Problem dabei: Bei foobar_version.orig.tar.gz erhalte ich fuer
>
> \1 = foobar
> \2 = version.orig
> \3 = tar.gz
Es gibt diverse Regex-Implementierungen. Bei Tcl zB gibt es
non-greedy-Quantifiers, die Deine Aufgabe vielleicht lösen würden, so etwa
^([^_]+)_([^_]+)(_.+?)* ...
Die sind aber recht schwer überschaubar in ihren Auswirkungen.
> Jemand nen Tipp wie ich das mit einer regex erschlagen kann (mit
> mehreren ist es kein Problem, das stoert dann aber im Progamm etwas)?
Ich würde es mit zwei Ausdrücken erledigen.
Christian
--
Christian Knoke * * * http://cknoke.de
* * * * * * * * * Ceterum censeo Microsoft esse dividendum.
Reply to: