У меня есть следующий JavaScript RegEx для соответствия функциям, предваряемым theme-
.
/(theme-([\w-]+))(?:\s*\(\s*)([^)]+?)(?:\s*\))/gm
Тем не менее, мне также нужно сопоставить другие функции как параметры, такие как theme-foo(param1, theme-bar(arg1)), param3)
, но этот RegEx не работает, поскольку предполагает, что закрывающие круглые скобки функции вызываемый в параметре - это закрывающие круглые скобки главной функции.
Как я могу это сделать?
Как насчет следующих:
let s = 'theme-foo(param1, theme-bar(arg1), param3)';
let regex = /([\w-]+(\(\w+\))?)/g;
let result = [];
s.replace(regex,function(match,param){
result.push(param);
});
console.log(result);