Регулярное выражение для имени - PullRequest
0 голосов
/ 27 марта 2019

Мне нужно построить регулярное выражение для имени со следующим шаблоном, поэтому Джон DE пройдет тест регулярного выражения.В основном, я хочу:

  1. N число символов (a-zA-Z) идет первым

  2. Тогда есть ровно один пробел

  3. ровно один символ (a-zA-Z)

  4. ровно одна точка

  5. ровно один символ(a-zA-Z)

  6. Ровно одна точка

Я написал это регулярное выражение ^([a-zA-Z]*)+( {1})+([a-zA-Z]{1})+(\.)+([a-zA-Z]{1})+(\.), но, похоже, оно не работаетправильно (выражение по-прежнему допускает, например, n пробелов).Как я могу ограничить это?{1} не работает.

1 Ответ

2 голосов
/ 27 марта 2019

Попробуйте:

^([a-zA-Z])+([ ]{1})([a-zA-Z]{1})([.])([a-zA-Z]{1})([.])

Я взял пробел и точки в классе ([]).Если вы не делаете это с точкой, то это означает любой символ.Плюсы Alo избыточны, они означают более одного символа.

PS: @ f1sh правильно замечает, что наличие {1} ничего не меняет, поэтому более короткая форма будет:

^([a-zA-Z])+([ ])([a-zA-Z])([.])([a-zA-Z])([.])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...