用正则表达式替换字符串
Posted
技术标签:
【中文标题】用正则表达式替换字符串【英文标题】:string replacement with regex 【发布时间】:2021-11-29 03:07:54 【问题描述】:我在 sql db 中有字段包含动态计算问题的公式
在我的示例中,我有以下字符串(q1)+(q2)
。
如何将 q1
和 q2 ... qn
替换为此
eval($(q1).val())+eval($(q2).val())
我需要 c# 或 javascript 中的代码来做到这一点。
这是我的 c# 代码用 eval($(q1).val()) 替换 (q1),(q2),..(qn) , 但我需要动态获取 q
`string _equation = dr["calc_equation"].ToString();
_equation = Regex.Replace(_equation, @"[(]q[0-9][)]+", "eval($(q1).val())");`
【问题讨论】:
math.js 对你有用吗? 【参考方案1】:例如:
const f = '(q1)+(q2)';
console.log(f.replace(/\([a-z]\d\)/g, 'eval($$$&.val())'));
第一个$
转义第二个$
,$&
代表每个匹配项。
如果可以有多个字母,则使用[a-z]+
。
【讨论】:
非常感谢,这解决了我的问题以上是关于用正则表达式替换字符串的主要内容,如果未能解决你的问题,请参考以下文章