Вот имеется работающий код:
var regul = /(AAA|BBB|CCC|DDD)\(.*?\)/g;
var str = "one two 12AAA(CCC(C1_1);A1_1)dfg dfgdfgdfg,BBB(B1_1; B1_2) sfsgndf dfgnhjdfglkjdfg DDD(D1_1)";
var ARR = str.match( regul );
for(var i = 0; i < ARR.length; i++) {
console.log((i+1)+') '+ARR[i]);
}
Но этот код, работает, если в скобках нету других функций ....
Но если в функции, будет другая функция, скрипт отрабатывает не верно ..
Он выдает следующее:
1) AAA(CCC(C1_1)
2) BBB(B1_1; B1_2)
3) DDD(D1_1)
Хотя, хотелось видеть:
1) AAA(CCC(C1_1);A1_1)
2) CCC(C1_1)
3) BBB(B1_1; B1_2)
4) DDD(D1_1)
Подскажите, как исправить, что бы работало ...