正则表达式替换

时间:2018-06-23 20:39:28

标签: c#

我正在开发一个表达式计算器,我用下面的代码来检查我是否不知道以下字符组合

例如:

*-乘法后跟两个减号

* /乘以除法

* +乘法后加和

这是正常工作的代码

private static Boolean EvaluaExprMat (String expr)
{
    for (int pos = 0; pos <expr.Length - 1; pos ++)
    {
      char car1 = expr [pos];
      char car2 = expr [pos + 1];

      if (car1 == '+' || car1 == '-' || car1 == '*' || car1 == '/' || car1 == '^')
        if (car2 == '+' || car2 == '*' || car2 == '/' || car2 == '^')
          return true;
    }

    for (int pos = 0; pos <expr.Length - 2; pos ++)
    {
      char car1 = expr [pos];
      char car2 = expr [pos + 1];
      char car3 = expr [pos + 2];


      if (car1 == '+' || car1 == '-' || car1 == '*' || car1 == '/' || car1 == '^')
        if (car2 == '+' || car2 == '-' || car2 == '*' || car2 == '/' || car2 == '^')
          if (car3 == '+' || car3 == '-' || car3 == '*' || car3 == '/' || car3 == '^')
            return true;
    }

如何使用正则表达式运行这些评估?有人可以帮助我解决这个问题吗,我想使用这种工具来减少代码。

谢谢

1 个答案:

答案 0 :(得分:-1)

使用以下内容

string pattern = @"(\*--)|(\*/)|(\*+)";