我有这个字符串
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
答案 0 :(得分:1)
您的问题不是特定于JavaScript的。你应该使用非贪婪的量词而不是贪婪的量词。
str.replace(/function3[(](.*?),.*?,.*?[)]/,'$1')
请注意问号。
答案 1 :(得分:0)
这是你要找的正则表达式:(function3 \([^ \]] * \))