Привет Хабр! Есть для вас мини-таск на тему регулярок:
Есть бот, у которого есть команды, и у этих команд, помимо префикса с названием, есть строка аргументов. Нужен темплейт регулярки, который будет парсить определенное количество аргументов с определенным разделителем, при этом имея возможность добавить опциональный аргумент, который не будет ломать парсинг в случае, если его нет в строке.
Пример на псевдокоде:
/* number(\s)string */ "123 check" -> ["123", "check"]
/* number(\s)string */ "ok check" -> null
/* string((,\s)|,)string */ "россия, москва" -> ["россия", "москва"]
/* string((,\s)|,)string */ "россия москва" -> null
/* string(\s)string((,\s)|,)(string) */ "привет хабр, вопрос" -> ["привет", "хабр", "вопрос"]
/* string(\s)string((,\s)|,)(string) */ "привет хабр" -> ["привет", "хабр"]