javascript - 正则表达式替换字符串中的函数

标签 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 的第二个参数可以是数字、字母、空格、->、<->、[]、<>、&、|和 ~,并且参数永远不能超过 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/

相关文章:

regex - 我如何制作一个正则表达式来匹配出现在一行开头的 "<br>"、 "<br/>"和 "<p>"的任意组合?

javascript - 用 Javascript 或 jQuery 替换甚至更好地删除内联样式?

javascript - 防止 .replace 替换已替换的字母

javascript:history.back() 和上一页刷新

javascript - 重写 javascript 对象属性上的函数

javascript - (如何)我可以使用 Chrome 检查器在使用缓存清除器的文件上设置断点吗?

javascript - 检查 id 是否与模式匹配

javascript - 需要有关一个 LALR(1) 解析的帮助

php - 在 mysql 中选择一个以单词开头的句子,而不是后面跟着另一个单词

Javascript 正则表达式-如何在组内查找 PascalCase 项目