есть некая строка, например:
var string = "
начало строки
[tag=tagname1]text1[/tag]
середина
[tag=tagname2]text25text[/tag]
конец";
в ней есть самопальные теги, содержащие некие строки
теги могут отличаться только дополнительным атрибутом
а сама строка содержит символы "перевода строки"
если не использовать дополнительные атрибуты тегов, то доступ к содержимому можно получить следующим кодом:
var g = '[tag]1[/tag][tag]2[/tag]';
var q = g.match(/\[tag\](\n|\r|.)*?\[\/tag\]/g);
alert(q);
на выходе имею нужный мне массив
дальше я делаю
.replace(/\[\/?tag\]/g, '')
но появилась задача отличать между собой содержимое одинаковых тегов, введя дополнительный атрибут.
и тут появилась проблема поиска еще одного вхождения, а именно атрибута тега
если чуть изменить регулярку, на
/\[tag=(.*)\](\n|\r|.)*?\[\/tag\]/g
то в результате я получаю строку [tag=tagname1]text1[/tag]середина[tag=tagname2]text25text[/tag]
таким образом регулярка захватывает лишние данные и все ломается
что мне нужно изменить, может почитать, чтобы починить свой код?