C# Regex Règle de Validation à l'aide de Regex.Match()

J'ai écrit une expression Régulière qui doit valider une chaîne de caractères en utilisant les règles suivantes:

  1. Les quatre premiers caractères doivent être alphanumériques.
  2. Les caractères alphabétiques sont suivis par 6 ou 7 valeurs numériques pour une longueur totale de 10 ou 11.

Ainsi, la chaîne devrait ressembler à ceci si sa validité:

CCCCNNNNNN ou CCCCNNNNNNN

C être n'importe quel caractère et N étant un nombre.

Mon expression est écrit: @"^[0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}$";

Ma regex match de code ressemble à ceci:

var cc1 = "FOOBAR"; //should fail.
var cc2 = "AAAA1111111111"; //should succeed

var regex = @"^[0-9A-Za-z]{3}[0-9A-Za-z-]\d{0,21}$";

Match match = Regex.Match( cc1, regex, RegexOptions.IgnoreCase );

if ( cc1 != string.Empty && match.Success )
{
     //"The Number must start with 4 letters and contain no numbers.",
     Error = SeverityType.Error
}

J'espère que quelqu'un peut prendre un coup d'oeil à mon expression et d'offrir des commentaires sur les améliorations à produire une correspondance valide.

Aussi, suis-je utiliser .Match() correctement? Si Match.Success est true, alors cela veut dire que la chaîne est-elle valable?

OriginalL'auteur nocarrier | 2012-01-06