Regulärer Ausdruck für ganze Zahlen und ganze Zahlen?

8

Ich versuche alle Ganzzahlen und ganze Zahlen (neben vielen anderen Dingen) aus einer Zeichenkette zu erkennen. Hier sind die regulären Ausdrücke, die ich derzeit verwende:

Ganze Zahlen: r"[0-9]+"

Ganzzahlen: r"[+,-]?[0-9]+"

Hier sind die Probleme:

  1. Der ganze Zahlen Regex erkennt auch negative Zahlen, die ich nicht haben kann. Wie löse ich das? Wenn ich vor Beginn der Regex ein Leerzeichen verwende, bekomme ich nur positive Zahlen, aber dann bekomme ich am Anfang meiner Ausgabe ein Leerzeichen!
  2. Für ganze Zahlen möchte ich positive Zahlen im Format +[0-9] erkennen, sie aber ohne das Zeichen speichern.
  3. Bei Ganzzahlen würde ich gerne jede positive Ganzzahl speichern, die mit dem Vorzeichen erkannt wurde, unabhängig davon, ob sie in der ursprünglichen Zeichenkette vorhanden ist.

Fast fertig jetzt: Eine letzte Sache, ich habe eine Zeichenfolge, die "Add 10 und -15" sagt. Ich möchte die ganzen Zahlen in einer Liste speichern. Ich benutze das findall (). Beim Speichern der Zahlen ist es möglich, '10' als '+10' zu speichern     

Sahil Thapar 27.05.2013, 13:14
quelle

2 Antworten

26

Verwenden Sie für positive Ganzzahlen

%Vor%

Erläuterung:

%Vor%

Verwenden Sie für Ganzzahlen mit Vorzeichen / ohne Vorzeichen

%Vor%

Die Wortgrenzen \b sind entscheidend, um sicherzustellen, dass die gesamte Zahl übereinstimmt.

    
Tim Pietzcker 27.05.2013, 13:20
quelle
4

Sie hatten es fast.

%Vor%

Ergebnisse:

%Vor%

Oder Sie könnten "oder" verwenden, um das Ergebnis auf eine "nettere" Weise zu erhalten:

%Vor%

Bearbeiten: Laut Ihrer Frage " ist es möglich zu speichern '10' als '+10' ":

%Vor%

Oder in 1-Zeile:

%Vor%     
Inbar Rose 27.05.2013 13:22
quelle

Tags und Links