Hi,

hab hier ein klitzekleines RegEx-Problem. 

Gegeben sein ein String der Dateinamen enthaelt wie sie in Debian
Archiven vorkommen koennen (also z.B. foobar_version_arch.deb,
foobar_version.orig.tar.gz, foobar_version.tar.gz).

Ich moechte nun mit einer Regex darauf matchen, folgende regex macht
fast was sie soll:

'^([^_]+)_([^_]+)(_.+)*(\.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

Das Problem: Ich kann keine weiteren Einschraenkungen in Gruppe 2
machen, da sowohl Buchstaben als auch . dort erlaubt sind. Ich muesste
also irgendwie ausdruecken, dass orig.tar.gz "Vorrang" vor tar.gz hat.
Nur da verlassen sie mich halt, so ein Regex-Guru bin ich leider nicht
:-(

Jemand nen Tipp wie ich das mit einer regex erschlagen kann (mit
mehreren ist es kein Problem, das stoert dann aber im Progamm etwas)?

Andreas

-- 
You will gain money by an illegal action.


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an