Как заставить регулярное выражение применять запятую между каждым словом? - PullRequest
1 голос
/ 08 мая 2020

Я пишу приложение C# ASP. NET MVC, и мне нужно применить некоторые правила для ввода данных пользователем.

В форме пользователь может записать некоторые номера случаев инцидента, которые находятся в форме IRxxxxxx, где x может быть числом (0-9). Я хотел бы создать регулярное выражение, которое проверяет, может ли ввод состоять либо из одного номера случая, либо из нескольких, разделенных запятыми (и некоторых возможных пробелов до и после запятых). Я пробовал пару вещей, но не могу понять это правильно.

Допустимые входы:

  • IR123456
  • IR123456, IR123456, IR123456 ( и так далее)
  • IR123456, IR123456, IR123456 (обратите внимание на пробел после первой запятой)

Неверные входы могут быть:

  • IR123
  • IR1234567
  • ir123456
  • IR123456`` IR123456

Ответы [ 2 ]

1 голос
/ 08 мая 2020

Это должно работать в большинстве движков Regex:

^IR\d{6}(,\s?IR\d{6})*$

Это ищет "IR", за которым следуют любые 6 цифр. Если есть дополнительные идентификаторы, это гарантирует наличие запятой после предыдущего (с дополнительным пробелом).

Regex101

0 голосов
/ 08 мая 2020

Вы можете попробовать это регулярное выражение: ^ ((^ |,) \ s * IR \ d {6}) + $

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