Соответствие шаблону регулярного выражения для содержит символ - PullRequest
2 голосов
/ 19 сентября 2019

Я ищу шаблон регулярного выражения, который может сделать это точно.

  1. Должен соответствовать длине, которая составляет 12 символов буквенно-цифровой
  2. Следует также проверить наличие дефиса -дважды в слове
  3. Пробелы не допускаются.

Я пробовал следующее регулярное выражение:

^([a-zA-Z0-9]*-[a-zA-Z0-9]*){2}$

Некоторые примеры

-1234abcd-ab

abcd12-avc-a

-abcd-abcdacb

ac12-acdsde-

Регулярное выражение должно соответствовать всем вышеперечисленным.

И должно быть неверно для следующих

-abcd-abcd - a

abcd-abcdefg

Я использовал это регулярное выражение ^([a-zA-Z0-9]*-[a-zA-Z0-9]*){2}$ для сопоставления вышеуказанных шаблонов, но проблема в том, что у него нет проверки длины 12. Я неуверен, как добавить это в приведенный выше шаблон.Помощь будет оценена.

1 Ответ

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

Используйте это:

(?=^.{12}$)(?=^[^-]*-[^-]*-[^-]*$)[a-zA-Z0-9-]+ /gm

Первый положительный прогноз утверждает, что общая длина равна 12. Второй позитивный прогноз утверждает наличие ровно двух дефисов.Остальное просто соответствует возможным символам в наборе символов.

Демо

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