php - regex - Wie extrahiert man eine Zahl mit Dezimalstellen (Punkt und Komma) aus einer Zeichenkette (z. B. 1.120.01)?

7

Wie man eine Zahl mit Dezimalstellen (Punkt und Komma) aus einer Zeichenkette (z. B. 1.120.01) extrahiert?  Ich habe eine Regex, aber scheint nicht gut mit Kommas zu spielen

%Vor%     
user1963938 23.01.2013, 14:25
quelle

6 Antworten

25

Die korrekte Regex für übereinstimmende Zahlen mit Kommas und Dezimalzahlen ist wie folgt (Die ersten beiden bestätigen, dass die Zahl korrekt formatiert ist):

Dezimal optional (zwei Dezimalstellen)

%Vor%

Debuggex-Demo

Erklärt:

%Vor%

Übereinstimmung:

%Vor%

Nicht übereinstimmend

%Vor%

dezimal obligatorisch (zwei Dezimalstellen)

%Vor%

Debuggex-Demo

Erklärt:

%Vor%

Übereinstimmung:

%Vor%

Nicht übereinstimmen:

%Vor%

Entspricht Zahlen, die durch Kommata oder Dezimalstellen getrennt sind:

%Vor%

Debuggex-Demo

Erklärt:

%Vor%

Übereinstimmung:

%Vor%

Nicht übereinstimmen:

%Vor%

Hinweis: Umbrechen Sie entweder in eine Gruppe und ziehen Sie dann einfach die Gruppe, lassen Sie es mich wissen, wenn Sie weitere Informationen benötigen.

Beschreibung: Dieser RegEx-Typ funktioniert mit jeder Sprache (PHP, Python, C, C ++, C #, JavaScript, jQuery usw.). Diese regulären Ausdrücke sind hauptsächlich gut für Währungen.

    
abc123 23.01.2013 14:47
quelle
3

Fügen Sie das Komma zu dem Bereich hinzu, der vor dem Punkt stehen kann:

%Vor%

Und diese Regex:

%Vor%

Passt nur zu

%Vor%

Aber nicht

%Vor%     
Cerbrus 23.01.2013 14:27
quelle
2

Sie können diese Regex verwenden: -

%Vor%

Erläuterung: -

%Vor%     
Rohit Jain 23.01.2013 14:29
quelle
0

Der locale-sensitive Float (% f) kann mit sscanf verwendet werden.

%Vor%

Das teilt die Teile jedoch nicht in ein Array auf. Es analysiert einfach einen Schwimmer.

Siehe auch: Ссылка

Ein Regex-Ansatz:

%Vor%     
riha 23.01.2013 14:32
quelle
0

Dies sollte funktionieren

%Vor%     
Abu Romaïssae 23.01.2013 14:45
quelle
0

Hier ist ein toller funktionierender Regex. Dies akzeptiert Zahlen mit Kommas und Dezimalzahlen.

%Vor%     
zeros-and-ones 04.08.2014 18:23
quelle

Tags und Links