что-то странное для меня, когда я пытаюсь выяснить разницу между этими двумя случаями
дело 1:
матч с 2 группами
var reg = /@([a-zA-Z]+)\((.*)\)/;
var text = ' @ifblank(1, @ifblank(2, 3) ) ';
text.match(reg);
результат (как и ожидалось)
match 1: "ifblank"
match 2: "1, @ifblank(2, 3) "
дело 2:
совпадение с 3 группами
var reg = /@([a-zA-Z]+)\((.*), (.*)\)/;
var text = ' @ifblank(1, @ifblank(2, 3) ) ';
text.match(reg);
результат (не такой, как ожидалось)
match 1: "ifblank"
match 2: "1, @ifblank(2"
match 3: "3) "
что я ожидал, это:
match 1: "ifblank"
match 2: "1"
match 3: "@ifblank(2, 3)"
Я предполагаю, что это из-за того, что я использую одни и те же теги в одном формате, но как я могу создать ожидаемый результат?