Re: kleines RegEx Problem
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?
>> 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.
Gruß, Frank
--
Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX)
Reply to: