[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kleines RegEx Problem



On 25.05.06 13:02:59, Frank Küster wrote:
> Andreas Pakulat <apaku@gmx.de> wrote:
> 
> > On 24.05.06 18:56:45, Frank Küster wrote:
> >> Andreas Pakulat <apaku@gmx.de> wrote:
> >> 
> >> > '^([^_]+)_([^_]+)(_.+)*(\.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
> >> 
> >> Ich sehe da vier subexpressions,
> >
> > Jupp. Allerdings ist \3 im Falle von foobar_0.2.4.orig.tar.gz leer.
> >
> >> aber bei der dritten fehlen mir
> >> brackets? 
> >
> > ?? brackets? Wieso brackets? Die 3. matcht auf eine eventuell vorhandene
> > Architektur.
> 
> die matcht doch "_.+", also _ gefolgt von 1 oder mehreren beliebigen
> Zeichen, und diese subexpression darf nullmal oder einmal oder vielmal
> vorkommen.  Jedenfalls wenn man subexpressions mit einem * versehen
> darf.  Oder missverstehe ich was?

Nee, ist richtig. Aber wieso fehlen da jetzt brackets?

> >> Du verwendest ein Programm, das sich entsprechend regex(7) verhält, ja?
> >
> > Ich verwende Python's re-Modul und bin da ehrlich gesagt ueberfragt.
> 
> Irgendwer im Thread meinte doch, auch Python könne das.

Ja ich :-) Das Problem ist schon geloest.

Andreas

-- 
Things will be bright in P.M.  A cop will shine a light in your face.



Reply to: