全世界的正则表达式
Regular Expression for whole world
首先我用C#4.0解析了一个VB6应用程序的代码
我有一些旧的 VB6 代码和大约 500 多个副本。并且我使用正则表达式从代码中抓取各种全局变量。该代码被描述为 "Yuck" 并且一些可怜的受害者仍然必须支持它。所以我希望通过生成特定常量的概述来帮助这个可怜的傻瓜。 (是的,它应该被重写,但它没有坏,所以......)
这是我需要匹配的代码行示例,在本例中为所有布尔常量:
Public Const gDemo = False 'Is this a demo version
这是我此时使用的正则表达式:
Public\s+Const\s+g(?'Name'[a-zA-Z][a-zA-Z0-9]*)\s+=\s+(?'Value'[0-9]*)
而且我认为它也很讨厌,因为 * 在布尔组的末尾。但是如果我不使用它,它只会return'T'或'F'。我想要整个词。
这是用作解决方案的正确 RegEx 还是有更好看的选项?
仅供参考,我使用类似的正则表达式来查找所有字符串常量和所有数字常量。那些工作得很好。基本上相同的 .BAS 文件用于所有 50 个副本,但所有这些变量的值不同。通过解析所有文件,我们可以很好地了解每个版本的配置方式。
再一次,是的,我们需要从头开始重建整个项目,因为现在维护起来越来越难了。但它有效,我们需要人力来完成其他任务。它只是需要偶尔的调整...
您可以使用: Public\s+Const\s+g(?<Name>[a-zA-Z][a-zA-Z0-9]*)\s+=\s+(?<Value>False|True)
首先我用C#4.0解析了一个VB6应用程序的代码
我有一些旧的 VB6 代码和大约 500 多个副本。并且我使用正则表达式从代码中抓取各种全局变量。该代码被描述为 "Yuck" 并且一些可怜的受害者仍然必须支持它。所以我希望通过生成特定常量的概述来帮助这个可怜的傻瓜。 (是的,它应该被重写,但它没有坏,所以......)
这是我需要匹配的代码行示例,在本例中为所有布尔常量:
Public Const gDemo = False 'Is this a demo version
这是我此时使用的正则表达式:
Public\s+Const\s+g(?'Name'[a-zA-Z][a-zA-Z0-9]*)\s+=\s+(?'Value'[0-9]*)
而且我认为它也很讨厌,因为 * 在布尔组的末尾。但是如果我不使用它,它只会return'T'或'F'。我想要整个词。
这是用作解决方案的正确 RegEx 还是有更好看的选项?
仅供参考,我使用类似的正则表达式来查找所有字符串常量和所有数字常量。那些工作得很好。基本上相同的 .BAS 文件用于所有 50 个副本,但所有这些变量的值不同。通过解析所有文件,我们可以很好地了解每个版本的配置方式。
再一次,是的,我们需要从头开始重建整个项目,因为现在维护起来越来越难了。但它有效,我们需要人力来完成其他任务。它只是需要偶尔的调整...
您可以使用: Public\s+Const\s+g(?<Name>[a-zA-Z][a-zA-Z0-9]*)\s+=\s+(?<Value>False|True)