如何仅在数学表达式中的操作数和以下阶乘 (!) 运算符周围插入括号?

How to insert brackets only around an operand and the following factorial (!) operator in a mathematical expression?

用户输入的表达式:2+3!-4

我想达到的目标:2+(3!)-4

为此,我知道我可以使用 'replaceAll()' 并替换所有“!”和 ”!)”。这解决了右括号插入问题,但我想知道如何在操作数(在本例中为 3)之前得到“(”,因为它可以是任何数字。

谢谢:)

您可以使用此正则表达式 /(\d+\!)/g 来查找使用阶乘的部分。实现取决于您使用的语言。

在 Java 中应该是 myString.replaceAll("(\d+\!)", "()"); $1 是对原始模式的反向引用。