gpt4 book ai didi

用于验证算术表达式的javascript正则表达式

转载 作者:行者123 更新时间:2023-11-29 18:25:33 24 4
gpt4 key购买 nike

我有一个算术表达式((20+30)-25)/5 我想使用正则表达式进行验证。表达式只能有整数、 float 、操作数和括号。

如何生成正则表达式来验证请帮助或建议使用 javascript 验证该字符串的任何其他方法。

最佳答案

正如我在评论中所说,使用一个 JavaScript 正则表达式是不可能的。但是,您可以使用循环来做到这一点:用原子替换子表达式,重复直到得到一个原子。如果你不能再减少,剩下的就不是原子,它就不会生效。这实际上与您评估它的过程几乎相同(只是跳过了抽象语法树)。您可以搜索 \(\d+\)|\d+[-+/*]\d+ 并替换为 0:

例子:

  • ((20+30)-25)/5
  • ((0)-25)/5
  • (0-25)/5
  • (0)/5
  • 0/5
  • 0
  • 完成

如果匹配失败并且没有 0,则失败。

(要评估而不是验证,您只需要用实际值替换而不是虚拟替代,其他一切都是一样的)。

关于用于验证算术表达式的javascript正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13833770/

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