我有一个字符串
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)
答案 0 :(得分:2)
可能是这样的(你忘了为替换值分组args):
string.replace(/K\(([a-zA-Z0-9]+), ?(.+)\)/g, 'K_{$1}($2)')