[英]How to do this in Visual Studio 2010 RegEx?
我的任务是采用约50个旧的VB6函数和子例程并将其转换为C#。 它们都很简单,我发现大部分工作都是手动编辑-采用类似
Dim rtb As Integer
然后输入
int rtb = 0;
我想到在Visual Studio的“快速替换”对话框中可能有某种方法可以使用正则表达式自动执行此操作。 这个想法是替换第一个表达式的所有实例,其中“ rtb”将是某种通配符,第二个表达式将在指定位置插入该通配符值,但是我不太了解正则表达式,所以不是对我来说很明显
有人可以告诉我这是否可行,并指出Visual Studio版本的regex的正确语法吗?
编辑:我尝试了两个在线转换器, Telerik和DeveloperFusion 。 我粘贴了
Dim FF As Integer
Dim rc As Variant
Dim rtb As Integer
并且在两种情况下都有相同的错误:- 第1行第1行:预计达到EOF
有趣的是,如果我手动输入代码,它们似乎可以正常工作。 我尝试从Visual Basic,Visual Studio和记事本粘贴。 我尝试添加前导或尾随空格,并添加前导crlf,但是除了指定的行和列始终是第一行非空白行外,其他均无效。
找什么:
Dim [\\ s \\ t \\ r \\ n] +([[^ \\ s \\ t \\ r \\ n] +)[\\ s \\ t \\ r \\ n] + As [\\ s \\ t \\ r \\ n] +整数[\\ s \\ t \\ r \\ n] *;
用。。。来代替:
int $ 1 = 0;
抱歉,正确的表达式不带“;”。 尝试这个:
Dim [\\ s \\ t \\ r \\ n] +([[^ \\ s \\ t \\ r \\ n] +)[\\ s \\ t \\ r \\ n] + As [\\ s \\ t \\ r \\ n] +整数[\\ s \\ t] *
问题是我正在使用VS 2012正则表达式提供解决方案。 在VS 2010中存在一些差异。 例如,您不能使用“ \\ s”来匹配空格,并且结果模式为\\ 1,\\ 2等,而不是$ 1,$ 2等。这应该可以完美地工作:
找什么:
昏暗[\\ t \\ n] +([^ \\ t \\ n] +)[\\ t \\ n] + As [\\ t \\ n] +整数[\\ t \\ n] *
用。。。来代替:
整数\\ 1 = 0;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.