как написать регулярное выражение
Есть строка str и переменная newStr.
Как вывести из строки подстроку ограниченную c двух сторон ;, содержащую эту переменную.
У меня пока получилось находить только переменную в строке.
var regexp = new RegExp(newStr, 'ig');
var result = str.match(regexp);
console.log(result);
Ответы (3 шт):
Автор решения: Arthur
→ Ссылка
Если я правильно понял вопрос, нужно взять подстроку между двух ;
regexp:
(?<=;)[^;]+
Можно посмотреть подробнее здесь - демо
Автор решения: vsemozhebuty
→ Ссылка
Если вам нужно динамически создать регулярное выражение, часть из которого содержится в переменной, можно так (в данном примере ограничители ; не попадают в результат):
const str = ';бла бла Луч бла бла;какой то текст ;бла бла опять Луч бла бла ;какой то текст;';
const newStr = 'Луч';
const regexp = new RegExp(`(?<=;)[^;]*${newStr}[^;]*(?=;)`, 'ig');
const result = str.match(regexp);
console.log(result);
const str = ';бла бла Луч бла бла;какой то текст ;бла бла опять Луч бла бла ;какой то текст;';
const newStr = 'Луч';
const result = str.split(';').filter(substr => substr.includes(newStr));
console.log(result);
