gpt4 book ai didi

javascript - 用 string.replace(regex, value) 替换变量名

转载 作者:行者123 更新时间:2023-12-03 07:06:27 25 4
gpt4 key购买 nike

<分区>

尝试做我认为相当简单的字符串替换,但结果比我想象的要复杂。

如果我有这样的字符串

months + 3 + (startmonths * 3) + months - (months*7) + (monthsend*5)

为清楚起见,我正在解析的“公式”是用户提供的,并且可以由用户可以想出的任何一系列变量名称和运算符 (+*/-) 和括号组成。我需要做的是首先用数字替换变量,然后计算结果表达式。,

我正在寻找的是如何使用 string.replace 函数替换所有出现的月份,比如“12”。

所以希望函数的输出是

 12 + 3 + (startmonths * 3) + 12 - (12*3) + (monthsend*5)"

似乎我需要一个正则表达式来避免替换像“startmonths”这样的字符串,我可能觉得它实际上不可能在 javascript 正则表达式中执行,因为现代浏览器很少支持“lookbehinds”。

我试过使用 [^A-Za-z9-9_](月)(?:[^A-Za-z0-9_])但这捕获了“月”前后的字符,所以我不能将它用作 string.replace 的参数。

是否有一些解决方法,或者我是否必须忘记替换功能并使用查找和拼接等“手动”完成?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com