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)
Подскажите, можно ли используя регулярные выражения, добиться желаемого результата? Или же мне придётся делать дополнительные действия?
Суть: Мне надо написать так регулярную функцию, что бы она понимала что: CCC(), находится внутри AAA()
За помощь, буду благодарен!
Ссылка:
https://jsfiddle.net/kh9h71kL/