我具有以下JavaScript RegEx来匹配以theme-
为前缀的函数。
/(theme-([\w-]+))(?:\s*\(\s*)([^)]+?)(?:\s*\))/gm
但是,我还需要将其他函数作为参数进行匹配,例如theme-foo(param1, theme-bar(arg1)), param3)
,但是此RegEx无法正常工作,因为它假定在参数中调用的函数的右括号是该函数的右括号。主要功能。
我该怎么做?
答案 0 :(得分:0)
如何遵循:
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);