validiert die Zeichenfolge basierend auf einem Format

8

Ich habe eine Zeichenfolge, die das folgende Format haben muss:

XXXX-XX-XXX-XXXX-XXXXXXXXXX-X

wobei X eine ganze Zahl ist. Die Anzahl der ganzen Zahlen spielt keine Rolle. Ich muss nur sicherstellen, dass die Zeichenfolge:

  • beginnt und endet mit einer Ganzzahl
  • enthält nur durch Bindestriche getrennte Ganzzahlen

Was wäre der einfachste Weg, dies zu überprüfen?

    
Diego 17.05.2012, 13:05
quelle

4 Antworten

13

Dieser Regexp sollte den Trick machen. Es verwendet ein negatives Lookbehind , um zu vermeiden, dass mehrere Bindestriche in einer Zeile übereinstimmen.

%Vor%

Hier ist ein C # -Code, der seine Verwendung veranschaulicht (auch auf ideone ):

%Vor%     
dasblinkenlight 17.05.2012, 13:08
quelle
7

Verwenden Sie einen regulären Ausdruck.

%Vor%

Dies setzt voraus, dass die Zeichenfolge mindestens drei Zeichen lang ist.

Aufschlüsselung:

%Vor%

Sie können + in * ändern, um 2-stellige Strings gültig zu machen, und eine Alternation hinzufügen, um auch 1-stellige Strings gültig zu machen:

%Vor%

Hinweis: In .NET stimmt \d mit beliebigen Unicode-Ziffern überein (also stimmen beispielsweise arabische Ziffern überein) - wenn Sie das nicht möchten, ersetzen Sie \d durch [0-9] an jedem Ort.

    
Oded 17.05.2012 13:09
quelle
4

Sie können einen regulären Ausdruck schreiben, der den Trick macht.

Dann können Sie diesen regulären Ausdruck verwenden, um Ihre Zeichenfolge zu validieren

%Vor%

mehr Infos unter

Ссылка

    
Massimiliano Peluso 17.05.2012 13:07
quelle
1

Regulärer Ausdruck ist wahrscheinlich der Weg zu gehen, könnte dies helfen:

Ссылка

    
Burt 17.05.2012 13:08
quelle

Tags und Links