JimmiJanger
@JimmiJanger
Любопытный активист, под маской ленивого нуба.

Как правильно объявить регулярное выражение?

Вот имеется работающий код:

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)

Подскажите, как исправить, что бы работало ...
  • Вопрос задан
  • 157 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы