gpt4 book ai didi

javascript - 使用javascript在括号中的负数

转载 作者:行者123 更新时间:2023-11-29 15:43:44 25 4
gpt4 key购买 nike

我使用 match 将数学表达式拆分为单独的字符串并将它们保存在数组中。

var STRING = ST.match(/\d*\.\d+|\d+|[()/*+-]/g);

但此方法将所有内容分开,包括括号内的负数。例如 (-2+4) 不会给我 -2,而是将 - 保存在 STRING 数组的一个索引中,将 2 保存在下一个索引中。无论如何使用匹配并保存括号中的负数?

这就是我想要的:(-2+4):

STRING[0] give me (
STRING[1] give me -2
STRING[2] give me +
STRING[3] give me 4
STRING[4] give me )

如果没有负数则正常工作:(2+4):

STRING[0] give me (
STRING[1] give me 2
STRING[2] give me +
STRING[3] give me 4
STRING[4] give me )

最佳答案

我不认为只用一个正则表达式来解析像 "(-2+4*-(3.5--8))" 这样的复杂情况是不可能的,特别是考虑到我们没有否定在 javascript 中看后面。

解决方案是通过合并位于分隔符和无符号表达式之间的符号来对匹配数组进行后处理。

在我看来,正则表达式在这里很有用,但仅用于主要标记化。当您构建二叉表达式树(或您选择的任何其他正式表示)时,大部分工作将在您之前完成。

关于javascript - 使用javascript在括号中的负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14974670/

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