2

我正在尝试运行一个脚本,该脚本仅评估具有 add、subs、mults 和 div 的表达式,但可以使用负数。这个负数取自如下指令:

set 1, 5 * D[5]

这意味着您必须存储5 * [whatever it's in a variable]. 如果这个变量包含一个负数,比如说-2,表达式将为5*-2,并且这个表达式由 QScriptEngine 计算,结果为 0(错误)。我需要将这样的表达式解析为5*(-2). 在 PERL 中,执行此操作的 RegExp 将是:

$expresion =~ s/\[\\*\\+\\-\\/](\\-\d+)/($1)/g;

我怎样才能在 Qt 中做到这一点?

4

1 回答 1

0
QString s = "...";
s.replace(QRegExp("[\\*\\+\\-\\/](\\-\\d+)"), "\\1");

http://doc.qt.io/qt-4.8/qstring.html#replace-16

于 2012-12-30T08:51:18.810 回答