[Python-de] Noch mal RegEx :-((

Jan Voges jan.voges at gmx.de
Die Jul 1 23:15:46 EDT 2003


Hallo!

On 1 Jul 2003 at 20:36, Albert Hermeling wrote:

> test=sre.compile(r'[-]??\d+[,]??\d*')
> 
> Das so habe ich gedacht muss das gewuenschte finden. Leider zu frueh gefreut 
> :-(( es funktioniert nicht perfekt.
> 
 
> test.match("124k")
> liefert ein Treffer nicht gewuenscht.
> 
> Wo ist den bloss der Denkfehler???

Am Ende fehlt noch ein $ (die Verankerung am String-Ende), damit klar 
ist, dass hinter dem \d* nichts mehr kommen darf. 
Die eckigen Klammern sind übrigens unnötig, weil eine Zeichengruppe 
mit einem Zeichen das Zeichen selbst ist. Dein RegExp erkennt 
übrigens 
auch Zahlen, die mit einem Komma enden, was vielleicht nicht
gewollt ist. Ich würd' sowieso vorschlagen, ganze Zahlen '\d+' und
Kommazahlen '\d+,\d+' getrennt zu machten. Ist IMO etwas lesbarer.

  test=sre.compile(r'-?(\d+|\d+,\d+)$')

Jan