正则表达式替换字符串

时间:2016-10-10 14:49:41

标签: javascript regex replace

我有一个字符串

Apply the function K(i, x<=>k) for more info.

我想将K(i, x<=>k)转换为K_{i}(x<>k),但函数K中的参数可能会有所不同,所以我猜它就像

string.replace(/\K\([.?],[.?]\)/g, 'K_{$1}($2)')

修改

很抱歉对K的论点有什么含糊不清的解释。我只是认为正则表达式会更快,如果它没有指定参数可能是什么,但只是有一些占位符。

K的第一个参数可以只是数字和字母,K的第二个参数可以是数字,字母,空格, - &gt;,&lt; - &gt;,[],&lt;&gt;,&amp ;, |和〜,并且永远不会有超过2个参数,因此模式总是K(某事,某事)。

剩余的字符串也有所不同。所以字符串也可能看起来像I have a function K(i,a) and two other functions K(3,p&s |r) and K(f, ~g)

1 个答案:

答案 0 :(得分:2)

可能是这样的(你忘了为替换值分组args):

string.replace(/K\(([a-zA-Z0-9]+), ?(.+)\)/g, 'K_{$1}($2)')