-2

このようなことをしたい---式に感嘆符が含まれている場合、エラー; それ以外の場合、エラーはありません。

式は、値自体または数学/文字列関数の場合があります。以下の例:
expr = abc;
式 = 123;
expr = 連結 (123,abc);
expr = sin(0.5);

文字列パターンを識別するために正規表現ライブラリを使用しています。
上記のすべての式では、エラー (期待される結果) は表示されませんでしたが、最後の式 "expr=sin(0.5)" を除いて、エラーが表示されます! そうしないと思われます。

では、文字列パターンを間違って書いたのだろうか? または、正しい結果を得るためにコードのどの部分を変更する必要がありますか?

私のコードで提供:

if (Regex.IsMatch(_exprWithVariableValues, @"[.*!+.*]+"))
    _result = "Invalid value";
else
    _result = "Correct";
4

1 に答える 1

1

これは、正規表現としては単純すぎます。正規表現は文字通り次のようにする必要があります。

!

..または C# で確認してください:

if (_exprWithVariableValues.IndexOf("!") > -1) {
    // invalid
}
else {
    // valid
}
于 2014-08-11T01:39:39.520 に答える