2

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

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

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

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

4

1 回答 1

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;
于 2012-10-14T08:28:12.473 回答