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

标签 c# .net regex string

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

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

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

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

最佳答案

试试这个正则表达式:

\$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;

关于c# - 根据特定标准确定一行代码是否有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12880478/

相关文章:

c# - 在 C# 中将 MySQL 表连接到 DataGridView 控件

c# - 一些查询后 Entity Framework 变慢

c# - Asp.NET MVC 4 WebApi 升级 - RC 到 4.0.30506.0

c# - 从 MVC HtmlHelpers 中的 ViewData 扩展对象

c++ - IBM i 上的正则表达式替换

用于删除特殊字符 []{}<> 的 JavaScript 代码

c# - 如何测试给定的功能代码单元 (C#) 是否不创建/写入任何文件到磁盘?

c# - 如何使用 Autofac 解决属性注入(inject)问题?

.net - 以编程方式检测发布/ Debug模式 (.NET)

python - 验证 ModelForm 的最佳方法