2016-03-22 11 views
1

Ich habe einen Zeichenfolgewert wie "GX 123-02" oder "ML 35-02". Die nach den Buchstaben eingegebenen Zahlen können beliebig lang sein, nach dem Alphabet muss jedoch ein Leerzeichen folgen, gefolgt von den Zahlenwerten. Wie kann ich einen regulären Ausdruck in C# erstellen, um zu überprüfen, ob der Wert in diesem Format eingegeben wird?So erstellen Sie eine Regex für Zeichenfolge mit Leerzeichen

+0

[a-zA-Z] {2} [0-9] * - [0- 9] {2} würde mit diesen übereinstimmen –

+2

Wenn Sie fragen, wie man ein Leerzeichen anpasst, verwenden Sie einfach ein Leerzeichen. – juharr

Antwort

0

Also, wenn ich Sie richtig verstanden habe, wollen Sie genau zwei Buchstaben von mindestens ein Leerzeichen und Nummer-Nummer, können Sie diese Regex verwenden:

[a-zA-Z]{2}\s+\d+-\d+ 

Beachten Sie, dass \s Matches jeder Leerraum, wenn Sie wollen genau das Leerzeichen Sie können einfach nur \s mit einem Raum wie diese ersetzen mindestens ein Mal abgestimmt werden:

[a-zA-Z]{2} +\d+-\d+ 
+0

\ s + entspricht mehr als nur einem Leerzeichen. es entspricht einer beliebigen Menge an Leerzeichen – juharr

+0

@juharr natürlich war es nur eine Demonstration, aber ich werde die Antwort aktualisieren, um dies zu beheben. –

+0

Danke. Das funktioniert gut. Wie wäre es, wenn die Zeichenfolge eine beliebige Anzahl von Ziffern hinter dem Leerzeichen wie "GB 12-23232-23232" – OseeAliz

1

\ s ist indicat es Raumnutzung Expression nach wird es funktioniert
[a-zA-Z0-9 \ s] {} 5,25

Verwandte Themen