Re: kleines RegEx Problem

2006-05-26 Diskussionsfäden Frank Küster
Andreas Pakulat [EMAIL PROTECTED] wrote: On 25.05.06 13:02:59, Frank Küster wrote: Andreas Pakulat [EMAIL PROTECTED] wrote: On 24.05.06 18:56:45, Frank Küster wrote: Andreas Pakulat [EMAIL PROTECTED] wrote:

Re: kleines RegEx Problem

2006-05-26 Diskussionsfäden Christian Frommeyer
Am Freitag 26 Mai 2006 10:30 schrieb Frank Küster: Brackets keine, entschuldigung. Aber ich missverstehe offenbar schon etwas. Was soll denn _._._._. bedeuten? (_.+) passt auf einen Unterstrich und beliebig viele (mindestens eins) beliebige Zeichen. Der Punkt schluckt jedes beliebige Zeichen

Re: kleines RegEx Problem

2006-05-26 Diskussionsfäden Andreas Pakulat
On 25.05.06 23:29:19, Juergen Christoffel wrote: P.S. Am Rande bemerkt: wenn man mehrere Sub-Expressions extrahieren will, kann man das kompakt (und uebersichtlich) mit einer Mehrfach-Zuweisung erledigen: if ( m/([a-z \-]+),\s*([a-z \-]+)/i ) { ($name, $vorname) = ($1, $2); }

Re: kleines RegEx Problem

2006-05-26 Diskussionsfäden Frank Küster
Christian Frommeyer [EMAIL PROTECTED] wrote: Am Freitag 26 Mai 2006 10:30 schrieb Frank Küster: Brackets keine, entschuldigung. Aber ich missverstehe offenbar schon etwas. Was soll denn _._._._. bedeuten? (_.+) passt auf einen Unterstrich und beliebig viele (mindestens eins) beliebige

Re: kleines RegEx Problem

2006-05-26 Diskussionsfäden Andreas Pakulat
On 26.05.06 10:30:26, Frank Küster wrote: Andreas Pakulat [EMAIL PROTECTED] wrote: On 25.05.06 13:02:59, Frank Küster wrote: Andreas Pakulat [EMAIL PROTECTED] wrote: On 24.05.06 18:56:45, Frank Küster wrote: Andreas Pakulat [EMAIL PROTECTED] wrote:

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Thorsten Haude
Moin, * Andreas Pakulat wrote (2006-05-24 03:06): hab hier ein klitzekleines RegEx-Problem. Welcher Dialekt? Thorsten -- Es gibt Dinge, für die es sich lohnt, eine kompromißlose Haltung einzunehmen. - Dietrich Bonhoeffer pgprpJleiLIYU.pgp Description: PGP signature

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Andreas Pakulat
On 24.05.06 21:47:03, Thorsten Haude wrote: * Andreas Pakulat wrote (2006-05-24 03:06): hab hier ein klitzekleines RegEx-Problem. Welcher Dialekt? Keine Ahnung, wozu gehoert Python re-Modul? Andreas -- Hope that the day after you die is a nice day. -- Haeufig gestellte Fragen und

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Thorsten Haude
Moin, * Andreas Pakulat wrote (2006-05-24 22:36): On 24.05.06 21:47:03, Thorsten Haude wrote: * Andreas Pakulat wrote (2006-05-24 03:06): hab hier ein klitzekleines RegEx-Problem. Welcher Dialekt? Keine Ahnung, wozu gehoert Python re-Modul? Na, daß es sich um Python handelt, ist ja

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Thorsten Haude
Moin, * Andreas Pakulat wrote (2006-05-24 03:06): Das Problem dabei: Bei foobar_version.orig.tar.gz erhalte ich fuer \1 = foobar \2 = version.orig \3 = tar.gz Du willst aber \1 foobar \2 version \3 orig.tar.gz Richtig? Das klingt nach non-greedy quantifier, kennt Python die nicht?

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Juergen Christoffel
On Wed, May 24, 2006 at 03:06:41AM +0200, Andreas Pakulat wrote: 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)$' Zum einen kannst Du den . in der

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Andreas Pakulat
On 24.05.06 23:00:54, Thorsten Haude wrote: Moin, * Andreas Pakulat wrote (2006-05-24 22:36): On 24.05.06 21:47:03, Thorsten Haude wrote: * Andreas Pakulat wrote (2006-05-24 03:06): hab hier ein klitzekleines RegEx-Problem. Welcher Dialekt? Keine Ahnung, wozu gehoert Python

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Andreas Pakulat
On 24.05.06 23:04:05, Thorsten Haude wrote: Moin, * Andreas Pakulat wrote (2006-05-24 03:06): Das Problem dabei: Bei foobar_version.orig.tar.gz erhalte ich fuer \1 = foobar \2 = version.orig \3 = tar.gz Du willst aber \1 foobar \2 version \3 orig.tar.gz Richtig? Das klingt

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Andreas Pakulat
On 24.05.06 03:06:41, Andreas Pakulat wrote: 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

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Andreas Pakulat
On 24.05.06 23:18:03, Juergen Christoffel wrote: Der Grund ist, dass die Operatoren * und + gierig (greedy) sind und Deine zweite Klammer somit den ganzen Rest schluckt. Das habe ich mittlerweile auch rausgefunden (siehe auch meine Antwort auf mein eigenes Posting, die demnaechst erscheinen

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Thorsten Haude
Moin, * Andreas Pakulat wrote (2006-05-24 23:35): On 24.05.06 23:04:05, Thorsten Haude wrote: * Andreas Pakulat wrote (2006-05-24 03:06): Das Problem dabei: Bei foobar_version.orig.tar.gz erhalte ich fuer \1 = foobar \2 = version.orig \3 = tar.gz Du willst aber \1 foobar \2 version

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Florian Tham
Hallo Andreas, On Wed, May 24, 2006 at 03:06:41AM +0200, Andreas Pakulat wrote: 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 kann kein Python, aber vllt. hilft dir dieser perlre-Ausdruck:

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Andreas Pakulat
On 25.05.06 11:20:29, Moritz Lenz wrote: Hallo, Andreas Pakulat wrote: In Perl geht das sowieso viel einfacher: if file =~ m/...orig.tar.gz/: orig = \1 elif file =~ m/...tar.gz/: foobar = \1 Meinst du Python? Perl sieht ungefähr so aus: Das war so aus dem Kopf

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Frank Küster
Andreas Pakulat [EMAIL PROTECTED] wrote: Keine Ahnung. Ich schau spaeter mal ob ich rauskriege was non-greedy quantifier sind und ob Python's re-Modul sowas kann.. Probiere doch einfach mal, was passiert, wenn du *? statt * schreibst. So geht's jedenfalls in Perl. Gruß, Frank -- Frank

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Juergen Christoffel
On Thu, May 25, 2006 at 12:16:06PM +0200, Andreas Pakulat wrote: foobar = \1 Das war so aus dem Kopf hingeschrieben, ja da fehlen saemtlich und sonders die $ und (). Ich wollte nur darstellen das ich in Perl implizit auf die letzte angewandte Regex zugreifen kann um die subexpressions

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Frank Küster
Andreas Pakulat [EMAIL PROTECTED] wrote: On 24.05.06 18:56:45, Frank Küster wrote: Andreas Pakulat [EMAIL PROTECTED] wrote: '^([^_]+)_([^_]+)(_.+)*(\.orig\.tar\.gz|\.tar\.gz|\.diff\.gz|\.dsc|\.deb|\.udeb|\.package|\.source)$' Das Problem dabei: Bei foobar_version.orig.tar.gz erhalte ich

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Moritz Lenz
Hallo, Andreas Pakulat wrote: In Perl geht das sowieso viel einfacher: if file =~ m/...orig.tar.gz/: orig = \1 elif file =~ m/...tar.gz/: foobar = \1 Meinst du Python? Perl sieht ungefähr so aus: if ($file =~ m/..(\.orig\.tar\.gz)/){ $orig = $1; } elsif ($file =~

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Andreas Pakulat
On 25.05.06 13:02:59, Frank Küster wrote: Andreas Pakulat [EMAIL PROTECTED] wrote: On 24.05.06 18:56:45, Frank Küster wrote: Andreas Pakulat [EMAIL PROTECTED] wrote: '^([^_]+)_([^_]+)(_.+)*(\.orig\.tar\.gz|\.tar\.gz|\.diff\.gz|\.dsc|\.deb|\.udeb|\.package|\.source)$' Das Problem

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Juergen Christoffel
On Wed, May 24, 2006 at 12:06:39PM +0200, Markus Schulz wrote: Also, wenn mich meine Kenntnisse der Theoretischen Informatik nicht ganz im Stich lassen ist das, was du semantisch möchtest, nicht machbar. Weil es sich nicht mehr mit einer regulären Sprache (und damit endlichem Automat bzw.

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Sven Freyer
Hallo, prima, dann hast du ja noch eine Lösung gefunden. Für mich ist regex irgendwie noch eine schwer durchschaubare Sache. Wenn ich wieder mehr Zeit habe, muss ich mich doch mal näher damit auseinandersetzen. Für alle, die wie ich noch viel zu regex zu lernen haben, finde ich das Programm

Re: kleines RegEx Problem

2006-05-25 Diskussionsfäden Andreas Pakulat
On 25.05.06 17:12:08, Sven Freyer wrote: prima, dann hast du ja noch eine Lösung gefunden. Für mich ist regex irgendwie noch eine schwer durchschaubare Sache. Wenn ich wieder mehr Zeit habe, muss ich mich doch mal näher damit auseinandersetzen. Ja fuer regex braucht man ein wenig, aber ich

Re: kleines RegEx Problem

2006-05-24 Diskussionsfäden Andreas Pakulat
On 24.05.06 18:56:45, Frank Küster wrote: Andreas Pakulat [EMAIL PROTECTED] 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

Re: kleines RegEx Problem

2006-05-24 Diskussionsfäden Markus Schulz
On Wednesday 24 May 2006 03:06, Andreas Pakulat wrote: 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

Re: kleines RegEx Problem

2006-05-24 Diskussionsfäden Christian Knoke
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

Re: kleines RegEx Problem

2006-05-24 Diskussionsfäden Andreas Pakulat
On 24.05.06 12:06:39, Markus Schulz wrote: Also, wenn mich meine Kenntnisse der Theoretischen Informatik nicht ganz im Stich lassen ist das, was du semantisch möchtest, nicht machbar. Das hatte ich befuerchtet. Meine Grundlagen der TGI sind leider schon etwas eingerostet, weswegen ich mir

Re: kleines RegEx Problem

2006-05-24 Diskussionsfäden Andreas Pakulat
On 24.05.06 15:30:38, Christian Knoke wrote: 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 =

Re: kleines RegEx Problem

2006-05-24 Diskussionsfäden Frank Küster
Andreas Pakulat [EMAIL PROTECTED] 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, aber