74 Stimmen

Regex-Muster für numerische Werte

Ich brauche ein Muster für einen regulären Ausdruck, das nur positive ganze Zahlen akzeptiert. Es kann auch eine einzelne Null akzeptieren.

Ich möchte keine Dezimalzahlen, negativen Zahlen und Zahlen mit führenden Nullen akzeptieren.

Irgendwelche Vorschläge?

2 Stimmen

Gehe zu regexr.de und probieren Sie es aus!

119voto

Federico A. Ramponi Punkte 44697
^(0|[1-9][0-9]*)$

1 Stimmen

Sollte sie ein optionales Komma enthalten, falls das Format dies zulässt (wie 1.000.000)?

7 Stimmen

Nein, es sollten keine Kommas akzeptiert werden.

1 Stimmen

Dies würde die Aufgabe erfüllen: ^(0|[1-9][0-9]*|[1-9][0-9]{0,2}(,[0-9]{3,3})*)$

21voto

Cheery Punkte 22879

" [1-9][0-9]*|0 "

Ich würde einfach " [0-9]+ ", um positive ganze Zahlen darzustellen.

2 Stimmen

Wenn ich grepl("[0-9]+", "1111a") in R verwende, erhalte ich TRUE

1 Stimmen

@AmanMathur ^[0-9]+$ dann.

19voto

Scott Punkte 179

Dies erlaubt Dezimalzahlen (oder ganze Zahlen), die nicht mit Null beginnen:

^(([1-9]*)|(([1-9]*)\.([0-9]*)))$

Wenn Sie Zahlen zulassen möchten, die mit Null beginnen, können Sie dies tun:

^(([0-9]*)|(([0-9]*)\.([0-9]*)))$

1 Stimmen

Diese erlauben die leere Zeichenkette und '.' für sich allein.

5voto

3Doubloons Punkte 2028
/([1-9][0-9]*)|0/

4voto

Robert Gamble Punkte 101657
/^0|[1-9]\d*$/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X