我有一个字符串
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)
最佳答案
可能是这样的(您忘记对替换值的参数进行分组):
string.replace(/K\(([a-zA-Z0-9]+), ?(.+)\)/g, 'K_{$1}($2)')
关于javascript - 正则表达式替换字符串中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39961023/