2010-12-06 26 views
9

Quelle est la plus petite quantité de C# possible pour vérifier qu'une chaîne correspond à ce format #-##### (1 chiffre, un tiret puis 5 autres chiffres).Vérification du format d'une chaîne

Il me semble qu'une expression régulière pourrait faire cela rapidement (encore une fois, j'aimerais savoir des expressions régulières).

Donc, voici un exemple:

public bool VerifyBoxNumber (string boxNumber) 
{ 
    // psudo code 
    if (boxNumber.FormatMatch("#-#####") 
     return true; 
    return false; 
} 

Si vous connaissez le code réel qui fera le travail de comparaison ci-dessus, s'il vous plaît ajouter une réponse.

Répondre

18
private static readonly Regex boxNumberRegex = new Regex(@"^\d-\d{5}$"); 

public static bool VerifyBoxNumber (string boxNumber) 
{ 
    return boxNumberRegex.IsMatch(boxNumber); 
} 
7
return Regex.IsMatch(boxNumber, @"^\d-\d{5}$"); 
5

^\d-\d{5}$ serait une expression rationnelle qui correspond seulement ce modèle.

+0

Wow, 3 expressions rationnelles identiques en 32 secondes! – LarsH

+0

Pensez à quel point ce serait si il y avait 3 expressions rationnelles complètement différentes. – MusiGenesis

+2

@Music: hm, ça dépend si tout était correct ou pas ... – LarsH