正则表达式:如何匹配除test()之外的所有函数调用?

时间:2013-07-14 14:56:19

标签: javascript regex node.js

我正在阅读一些文件内容,我希望匹配nodejs中不是test()的所有函数调用。 test()可以包含任何类型的参数,并尽可能多。并且所有匹配的函数都应包括所有参数,包括结束)。例如。

test({
  firstname: firstname({ userid: 12 }),
  lastname: lastname({ userid: 12 })
});

在上面的示例中,匹配了firstname和lastname,结果匹配的字符串应为firstname({ userid: 12 })lastname({ userid: 12 })

1 个答案:

答案 0 :(得分:0)

Don't over-complicate yourself尝试单独使用正则表达式解析 。您可以使用它们来帮助您,但不能用于完成所有工作。

例如,尝试使用\b[a-zA-Z]+\({(如果您的代码不像此处放置的示例那样干净\b[a-zA-Z]+\s*\(\s*{来匹配每个函数调用,然后迭代结果以找到那些不要拨打test