проверить определенную строку с помощью регулярного выражения - PullRequest
0 голосов
/ 13 февраля 2019

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

Regex rgx1 = new Regex(@"^d{2}\/\d{2}\/\d{4}\t[A-Z]\d{2}\-\d{4}\-\[A-Z0-9]\d{1}\t[A-Z]\d{3}\-\[A-Z]\d{3}$");
Match FormatS = rgx1.Match(tab[i]);

if ( FormatS.Success)
{
    Console.WriteLine(tab[i]);
    Console.ReadLine();
}

1 Ответ

0 голосов
/ 13 февраля 2019

На основании вашего комментария с примером ввода, это работает:

Regex rgx1 = new Regex(@"^\d{2}/\d{2}/\d{4}\s[A-Z]{2}-\d{4}-[A-Z0-9]{1}\s[A-Z]{3}-[A-Z]{3}$");

Проблемы, которые я обнаружил:

  • \[ вместо [ в двух местах
  • d вместо \d в начале
  • \t вместо \s (или просто пробел, вероятно, тоже подойдет)
  • несколько ненужных \d

Я также удалил несколько излишне экранированных токенов, но ... они не так важны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...