C # регулярное выражение для подмножества разделенных запятыми букв - PullRequest
1 голос
/ 26 сентября 2019

Как я могу разрешить до 2 запятых в этом регулярном выражении?Его необходимо использовать с RegularExpressionAttribute для свойства класса.

A|B|C|D|F|I|a|b|c|d|f|i

Например, это должны быть допустимые входные данные:

  • A
  • A, b
  • C, D, A

Неправильные входы:

  • D, C, B, A (более 2 запятых)
  • D ,, C (две последовательные запятые)
  • H, A (вне диапазона букв)

1 Ответ

2 голосов
/ 26 сентября 2019

Вы можете использовать

(?i)^[A-DFI](?:,[A-DFI]){0,2}$

См. Демоверсию regex

Подробности

  • ^- начало строки
  • [A-DFI] - A, B, C, D, F, I (без учета регистра)
  • (?:,[A-DFI]){0,2}- 0, 1 или 2 вхождения
    • , - запятая
    • [A-DFI] - A, B, C, D, F, I (без учета регистра)
  • $ - конец строки.

В C #:

var IsValid = Regex.IsMatch(text, @"^[A-DFI](?:,[A-DFI]){0,2}$", RegexOptions.IgnoreCase);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...