soiran
@soiran
Разработчик, Художник

Нужна помощь с регуляркой для бота. Поможете?

Мне необходимо разделять аргументы после алиаса команды пробелом, но при этом не разделять то, что заключено в кавычки.

Примеры:
"hello world" -> ["hello", "world"]
"say \"hello world\"" -> ["say", "hello world"]
  • Вопрос задан
  • 42 просмотра
Решения вопроса 1
@dodo512
const s = "say \"hello world\""
const r = s.match(/"[^"]*"|[^\s"]\S*/g).map(m => m.replace(/^"|"$/g, ''))
console.log(r)


import re
s = "say \"hello world\""
r = []
for m in re.finditer('"([^"]*)"|[^\s"]\S*', s):
    if m.group(1) is None:
        r.append(m.group(0))
    else:
        r.append(m.group(1))

print(r)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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