javascript - 用正则表达式替换字符串
问题描述
我在 sql db 中的字段包含动态计算问题的公式,在我的示例中,我有以下字符串(q1)+(q2)
。
我该如何替换q1
and q2 ... qn
, 到这个
eval($(q1).val())+eval($(q2).val())
我需要 c# 或 javascript 中的代码来做到这一点。
这是我的 c# 代码用 eval($(q 1 ).val()) 替换 (q1),(q2),..(qn) ,但我需要动态获取 q
`string _equation = dr["calc_equation"].ToString();
_equation = Regex.Replace(_equation, @"[(]q[0-9][)]+", "eval($(q1).val())");`
解决方案
例如:
const f = '(q1)+(q2)';
console.log(f.replace(/\([a-z]\d\)/g, 'eval($$$&.val())'));
Thr 首先$
转义了第二个$
,而$&
代表每个匹配项。
如果可以有多个字母,则使用[a-z]+
.
推荐阅读
- java - 无法使用 Chrome 驱动程序运行测试脚本,但可以使用 Driver.get("url") 访问浏览器
- extjs7 - EXTJS 7.X 现代套件按钮已禁用
- angular - Spring Boot:即使使用@CrossOrigin,CORS 策略也阻止了从源 FRONTEND 访问 BACK_END' 处的 XMLHttpRequest
- sql - 如何连接两个表而不在 SQL 中执行笛卡尔积
- android - 当文本包含表情符号时,表情符号无法随画布旋转
- c# - 字符串浮动
- javascript - 使用 JavaScript 混淆电子邮件
- django - 在 Django Rest Framework 中将 blob 保存为文件
- flutter - 指纹认证不弹出对话框[Flutter]
- python - Django导入顺序导致从另一个应用程序导入类时默认用户模型出错