@Coline

Как сформировать регулярное выражение?

Пишу парсер аргументов. Примеры валидных строк:
"qwe rty abc"
"qwe rty 123"

И любое количество пробелов между ними
" qwe rty 123 "
Я написал кое-какой шаблон
@"^[ ]*[a-z]+[ ]+[a-z]+[ ]+([a-z]+|[0-9]+)[ ]*",
Проблема - он будет срабатывать и для строк из >3 аргументов
"qwe rty 123 456"
Ну и соответственно та же проблема для шаблона в 1 аргумент и строки в >1 аргумент и тд. Что написать, что бы после последнего аргумента не следовало никаких символов?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
@"^[ ]*[a-z]+[ ]+[a-z]+[ ]+([a-z]+|[0-9]+)[ ]*$"
$ означает окончание строки.

для пробелов, а точнее любых пробельных символов (space, tab) лучше использовать \s
^\s?[a-z0-9]+\s+[a-z0-9]+\s+([a-z0-9]+)\s?$

https://regex101.com/r/G1uyGf/1/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
([a-z]+?\ [a-z]+?\ ([a-z]|[0-9])+)
Подходит?
https://regex101.com/r/JfOvvU/1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы