根据特定标准确定一行代码是否有效

时间:2012-10-14 08:21:32

标签: c# .net regex string

给定一行代码,我需要根据特定标准确定它是否有效。

  1. 如果该行包含任何特殊关键字。关键字以美元符号开头。例如,$SREAD是此处的关键字

    tempval = $SREAD(13,"B14.OATEMP");
    
  2. 我需要在包含关键字的方法中获取一些参数。然后将参数计数与应用程序内的常量值进行比较。

  3. 在这里确定有效性的最简单方法是什么?

1 个答案:

答案 0 :(得分:0)

试试这个正则表达式:

\$keyword\(([^,\)]+,?)+\)

更新:以及您的代码:

var inputString = "tempval = $keyword(13,\"B14.OATEMP\");";
inputString = Regex.Replace(inputString, "\".*?\"", "\"\"");

var count = 0;

if (Regex.IsMatch(inputString, @"\$keyword\(([^,\)]+,?)+\)"))
    count = Regex.Matches(inputString, @"\$keyword\(([^,\)]+,?)+\)")[0]
                 .Groups[1].Captures.Count;