2016-10-10 55 views
0

我有一个字符串正则表达式替换功能串

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的第二个参数可以是数字,字母,空格 - >,< - >,[],<>,&,|和〜,并且永远不会有超过2个参数,所以模式总是K(某事)。

其余字符串也不相同。所以字符串也可以像I have a function K(i,a) and two other functions K(3,p&s |r) and K(f, ~g)

+0

和问题是...? – k102

+1

如果您想要一个匹配多个案例的正则表达式,请给出更多示例。 –

+2

*“参数可能会有所不同”* ...这是非常模糊的能够写一个正则表达式对 – charlietfl

回答

2

可能是类似的东西(你忘了组args作为替代值):

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