Регулярное выражение. Найти и заменить текст в строке
let text = 'Подробности из [club21025810|Воронежской], [club48393292|Московской], [club34267625|Ивановской], [club152332992|Смоленской], [club26484430|Тамбовской], [club67497363|Челябинской областей], [club198946136|Краснодарского края], [club82258040|Санкт-Петербурга], [club143695131|Москвы] в нашем видео.';
var matches = text.match(/[(.*?)]/);
console.log(matches[1]);
Здравствуйте. Я хочу найти в тексте все данные в квадратных скобках [] и оставить только название из скобки
Вот, что я хочу получить: Подробности из Воронежской, Московской, Ивановской, Смоленской, Тамбовской, Челябинской областей, Краснодарского края, Санкт-Петербурга, Москвы в нашем видео.
Но у меня почему-то не получается. Что я не так делаю?
Ответы (1 шт):
Автор решения: vsemozhebuty
→ Ссылка
Попробуйте так (экранируем спецсимволы, запоминаем всё между знаком | и закрывающей скобкой и меняем всю группу в скобках на этот отрезок):
const text = 'Подробности из [club21025810|Воронежской], [club48393292|Московской], [club34267625|Ивановской], [club152332992|Смоленской], [club26484430|Тамбовской], [club67497363|Челябинской областей], [club198946136|Краснодарского края], [club82258040|Санкт-Петербурга], [club143695131|Москвы] в нашем видео.';
const newText = text.replace(/\[.+?\|(.+?)\]/g, '$1');
console.log(newText);