Выделить определенную последовательность regexp. Регулярные выражения
Подскажите, пожалуйста.
Необходимо выделить последовательность идущих друг за другом ссылок
<a></a>, <a></a>
Внутри <a></a> Могут быть любые символы, например <a>**<span></span>**</a>,
Но если между ссылками <a></a> есть другие теги, например <a></a></span>, <a></a>, то такую последовательность брать не стоит
Единственное, что пока приходит в голову это
(<a>.*<\/a>) Но данное выражение цепляет все между Первым <a> в строке и последним </a>
Исходные данные:
1.<p><a><span></span></a>, <a></a>, <a></a></p>
2.<p><span><a></a><span><a></a>, <a></a></p>
Должно выбираться:
<a><span></span></a>, <a></a>, <a></a><a></a>, <a></a>
Ответы (1 шт):
Автор решения: UModeL
→ Ссылка
Рекомендуется к прочтению - Жадные и ленивые квантификаторы. А выражение будет следующим:
/(<a>.*?<\/a>)/gi
let rExp = /(<a>.*?<\/a>)/gi;
let sTxt = `
1. <p><a><span>1</span></a>, <a>2</a>, <a>3</a></p>
2. <p><span><a>4</a><span><a>5</a>, <a>6</a></p>
`;
console.log(sTxt.match(rExp));