使用JavaScript String replace函数删除字符串中的函数

时间:2014-04-23 22:40:16

标签: javascript regex replace

我有这个字符串

str = 'function1(function2(function3(param1,param2,param3),paramfunction2))'

我想删除function3并将其替换为param1。我可以在function3周围有更多的函数,但我知道这个函数的名称并且它没有改变。

预期结果是

function1(function2(param1,paramfunction2))

在JavaScript中我做

str.replace(/function3[(](.*),.*,.*[)]/,'$1')

我总是得到,我不能只隔离function3

function1(function2(param1,param2

2 个答案:

答案 0 :(得分:1)

您的问题不是特定于JavaScript的。你应该使用非贪婪的量词而不是贪婪的量词。

str.replace(/function3[(](.*?),.*?,.*?[)]/,'$1')

请注意问号。

答案 1 :(得分:0)

这是你要找的正则表达式:(function3 \([^ \]] * \))