与えられたコード行が、特定の基準に基づいて有効かどうかを判断する必要があります。
行に特別なキーワードが含まれている場合。キーワードはドル記号で始まります。たとえば、
$SREAD
ここではキーワードですtempval = $SREAD(13,"B14.OATEMP");
キーワードを構成するメソッド内でいくつかのパラメーターを取得する必要があります。次に、パラメーター数がアプリケーション内の定数値と比較されます。
ここで有効性を判断する最も簡単な方法は何ですか?
この正規表現を試してください:
\$keyword\(([^,\)]+,?)+\)
UPDATED :およびあなたのコード:
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;