Строка RegEx начало / конец / одноразовое совпадение в середине - PullRequest
1 голос
/ 07 мая 2020

Я пытаюсь проверить поле input с помощью регулярного выражения. Задача: input поле может (необязательно) содержать только один специальный символ * в начале, в середине или в конце строки. Вот мое регулярное выражение:

^(?!.?\*.*\()[\w*]+$

Проблема: строка все еще действительна для нескольких * и не могу понять, что я делаю не так.

1 Ответ

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

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

^(?!(?:[^*]*\*){2})[\w*]+$

См. демонстрацию регулярных выражений

Подробности

  • ^ - начало строки
  • (?!(?:[^*]*\*){2}) - в строке не допускаются две необязательно идущие подряд звездочки
  • [\w*]+ - одна или несколько букв, цифр, _ или * символов
  • $ - конец строки
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...