Mesuti
@Mesuti

Как взять текст между кавычек, минуя промежуточный текст?

Как взять текст между кавычек, минуя промежуточный текст?

Получается только вывести "ipsum" dolor "sit".

А надо [ipsum, sit].

var s = 'Lorem "ipsum" dolor "sit" amet';
console.log(s.match(/"(.+)"/)[0]);

jsFiddle


  • Вопрос задан
  • 142 просмотра
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
str.split('"').filter((n, i) => i & 1)

// или

str.match(/".*?"/g)?.map(n => n.slice(1, -1)) ?? []

// или

Array.from(str.matchAll(/"([^"]*)"/g), n => n[1])

// или

Array.prototype.reduce.call(str, (acc, n) => {
  if (n !== '"') {
    acc[1]?.push(n);
  } else if (acc[1]) {
    acc[0].push(acc[1].join(''));
    acc[1] = null;
  } else {
    acc[1] = [];
  }

  return acc;
}, [ [], null ])[0]
Ответ написан
notiv-nt
@notiv-nt
Как ваше ничего? Да, моё тоже
Пригласить эксперта
Ответы на вопрос 1
Попробуйте так

/"([^"]+)"/

Regex101
Ответ написан
Ваш ответ на вопрос

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

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