Нужно найти все подгруппы, у меня при добавлении нескольких подгрупп, 1 подгруппа сьедает все оставшиеся, то есть до последнего .
Пробывал такие шаблоны
Тестовая строка с закрывающим тегом <\/code> "\" убирается
template = /<code name=\"([^\"]+)\">([^]+)(?:<\/code>)/;
template = /<code name=\"([^\"]+)\">([^]+)(?:<\/code>)/g;
template = /(<code name=\("([^\"]+)\">([^]+)(?:<\/code>))+/;
//и еще штук 20
test_code=`<div>Какой-то код <code name=\"c+++\">
void main(){
cout<<\"heelo world\";
class A{
char *name;
A(char *n):namae(n);
}
}<\/code> Конец первого блока кода // <b> СТРОКИ. </b><div>Все</div>
<code name="c++">
#include <iostream>
void print(char * msg){
cout<<msg;
<\/code>
}`;
function getCode(str){
var res = str.match(/<code name=\"([^\"]+)\">([^]+)(?:<\/code>)/);
console.log(res);
/*if(res!=null && res[2]!=undefined && res[2]!=null)
return {
lang:res[1],
code:res[2]
}
else{
return null;
}*/
}
function parse(code){
}
console.log(getCode(test_code));