Regex, um Zahlen und nur einen Bindestrich in der Mitte zuzulassen

7

Ich versuche einen regulären Ausdruck zu schreiben, um Nummern und nur einen Hypen in der Mitte zu erlauben (kann nicht am Anfang oder am Ende sein) sagen Muster: 02-04 , 02 sind akzeptabel, aber Muster: -- oder - oder -02 oder 04- oder 02-04-06 sind nicht akzeptabel

Ich habe so etwas versucht, aber das würde es erlauben - am Anfang und auch mehrere -

%Vor%

Ich bin nicht so gut mit Regex, also wäre eine kleine Erklärung wirklich hilfreich.

  

BEARBEITEN: Es tut mir leid, dass ich Sie erneut damit behellige, aber ich brauche nur 2 Ziffern (123-346), die als ungültig betrachtet werden sollten.

    
ro ko 23.08.2012, 10:39
quelle

3 Antworten

12

Versuchen Sie Folgendes:

%Vor%

Eine oder zwei Ziffern, gefolgt von optional (ein Bindestrich gefolgt von einer oder zwei Ziffern)

    
Oussama 23.08.2012, 10:41
quelle
5

Ziemlich einfach:

%Vor%

Mindestens eine ( + ) Ziffer ( \d ), gefolgt von einer optionalen Gruppe mit einem Bindestrich-Minus ( - ), gefolgt von mindestens einer Ziffer.

    
Joey 23.08.2012 10:41
quelle
2

Für Strings, die nur dieses Muster enthalten, sollte folgendes funktionieren:

%Vor%

Eine Gruppe von 2 Ziffern gefolgt von minus mit einer Gruppe von 2 Ziffern ohne Minus.

    
Gabber 23.08.2012 10:58
quelle

Tags und Links