-2

我想做这样的事情——如果表达式包含感叹号,错误;否则,没有错误。

表达式可能是一个值本身或数学/字符串函数。示例如下:
expr = abc;
表达式 = 123;
expr = 连接(123,abc);
expr = sin(0.5);

我正在使用 Regex 库来识别字符串模式。
对于上面的每一个表达式,都没有提示错误(预期的结果),除了最后一个表达式“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 回答