Доброго времени суток.
Есть текст:
Код:
|
<td>Наличие<br>Рис фасованный: 5%<br>Гречка весовая: 36%<br>Морковка гнилая: 15%<br>Итого..... |
соответственно, хочу вычленить то что между тегами
<br> и заканчивающееся на знак
%
но получаю:
либо последний извлеченный элемент
Морковка гнилая: 15:
var str='<td>Наличие<br>Рис фасованный: 5%<br>Гречка весовая: 36%<br>Морковка гнилая: 15%<br>Итого.....';
alert(str.match(/(?:(?:<br>)(.*?)%)+/i));
либо, всю строку начиная с
<br>Рис и заканчивая
Морковка гнилая: 15%:
var str='<td>Наличие<br>Рис фасованный: 5%<br>Гречка весовая: 36%<br>Морковка гнилая: 15%<br>Итого.....';
alert(str.match(/((?:(?:<br>)(?:.*?)%)+)/i));
Подскажите пожалуйста, как правильно составить данное рег. выражение, с учетом того, что количество искомых фраз может разниться?
З.Ы.: можно, конечно, сделать так:
var str='<td>Наличие<br>Рис фасованный: 5%<br>Гречка весовая: 36%<br>Морковка гнилая: 15%<br>Итого.....';
alert(str.split('<br>'));
но тогда в результат попадает лишний мусор, которого хотелось бы избежать
З.Ы.Ы.: естественно - можно использовать модификатор
g:
var str='<td>Наличие<br>Рис фасованный: 5%<br>Гречка весовая: 36%<br>Морковка гнилая: 15%<br>Итого.....';
alert(str.match(/(?:(?:<br>)(.*?)%)/gi));
но проблема в том, что далее идет аналогичная конструкция, только получающая данные уже иначе и соответственно вместе они не работают при установленном параметре
g т.к. они не чередуются а идут друг за другом
к тому же, при использовании
g, в тексте останутся
<br> и
%