2017-05-08 4 views
-5

Wie kann man bestimmte Zeichen/Zeichenketten in einer Regex ablehnen? Zum Beispiel möchte ich Nummern wie "123", "1982" oder "3" zulassen, aber nicht "0".Regex zum Zurückweisen bestimmter Werte

+4

Vielleicht Regex ist nicht Ihre beste Option hier. – Maroun

+0

Was ist so spezifisch an '123',' 1982' und '3'? Klingt wie 'if (num> 0)'. –

+0

/[1-9] + ist das, wonach du gefragt hast - aber es ist vielleicht nicht das, was du brauchst. Welche Code-Sprache? Und was versuchst du zu tun - bitte erkläre es. –

Antwort

1

Um alle ganzen Zahlen, außer 0 oder eine Zahl mit einer führenden Null zu ermöglichen, können Sie den folgenden regulären Ausdruck verwenden:

^[1-9]\d*$ 

Hier ist ein anschauliches Beispiel: https://regex101.com/r/DauRoh/1


Dieser Ansatz ist nur sinnvoll, wenn Sie Strings haben, die Zahlen darstellen. In Fällen, in denen Sie eine ganze Zahl haben, können Sie überprüfen, ob die Zahl größer als 0 ist. Führende Nullen sind dann kein Problem.

num = 123; 

if(num > 0) { 
    console.log('greater than 0'); 
} else { 
    console.log('lower or equal to 0'); 
} 
Verwandte Themen