Правило проверки регулярных выражений C # с использованием Regex.Match ()

Я написал регулярное выражение, которое должно проверять строку, используя следующие правила:

  1. Первые четыре символа должны быть буквенно-цифровыми.
  2. За буквенными символами следуют 6 или 7 числовых значений, общая длина которых составляет 10 или 11.

Таким образом, строка должна выглядеть следующим образом, если она допустима:

CCCNNNNNN или CCCCNNNNNNN

C - любой символ. и N - число.

Мое выражение написано: @ "^ [0-9A-Za-z] {3} [0-9A-Za-z -] \ d {0,21} $";

My Код сопоставления регулярных выражений выглядит следующим образом:

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
}

Я надеюсь, что кто-то сможет взглянуть на мое выражение и высказать свое мнение об улучшениях, чтобы получить правильное сопоставление.

Кроме того, правильно ли я использую .Match () ? Если Match.Success равно true , то означает ли это, что строка действительна?

30
задан dtb 6 January 2012 в 21:38
поделиться