c# Regex字符类/字符串模式-识别感叹号

本文关键字:识别 感叹 模式 字符串 Regex 字符 | 更新日期: 2023-09-27 18:17:18

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

表达式可以是值本身,也可以是数学/字符串函数。示例如下:
Expr = abc;
Expr = 123;
Expr = concatenate(123,abc);

我使用Regex库来识别字符串模式。
对于上面的每个表达式,它们都没有提示出错误(预期结果),除了最后一个表达式"expr=sin(0.5)",它提示出错误!它应该不会这样做。

所以只是想知道我是否写错了字符串模式?或者我需要修改代码的哪一部分才能得到正确的结果?

随代码提供:

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

c# Regex字符类/字符串模式-识别感叹号

这对于正则表达式来说太简单了。你的正则表达式应该是这样的:

!

. .或者直接用c#检查:

if (_exprWithVariableValues.IndexOf("!") > -1) {
    // invalid
}
else {
    // valid
}