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)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Wanted. Санкт-Петербург
До 450 000 ₽
Wanted. Санкт-Петербург
До 100 000 ₽
Wanted. Санкт-Петербург
До 120 000 ₽
25 нояб. 2024, в 17:47
5000 руб./за проект
25 нояб. 2024, в 17:44
100000 руб./за проект
25 нояб. 2024, в 17:04
1000 руб./в час