2

add、subs、mults、および divs を持つ式のみを評価するスクリプトを実行しようとしていますが、負の数を使用できます。この負の数は、次のような命令から取得されます。

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 に答える