给定一行代码,我需要根据某些标准确定它是否有效。
如果该行包含任何特殊关键字。关键字以美元符号开头。例如,
$SREAD
这里是关键字tempval = $SREAD(13,"B14.OATEMP");
我需要在包含关键字的方法中获取一些参数。然后将参数计数与应用程序内的常量值进行比较。
在这里确定有效性的最简单方法是什么?
试试这个正则表达式:
\$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;