我需要找到提到的lambda语句并将其从我的代码中删除。我的项目非常大,我注意到在Visual Studio的查找和替换框中,有一个参数可以使用正则表达式来查找和替换代码。是否有正则表达式可以完全找到此语句(还包含换行符和空格)?
() =>
{
CallMethod()
},
答案 0 :(得分:1)
我担心VS IDE在单行模式下使用正则表达式(考虑到它在建议菜单中提供了\ n,这实际上很奇怪)。我认为你会更好地创建一个新项目,它将加载文件,从中读取所有文本,并替换你指定的任何正则表达式,然后保存文件。
基本上你需要的正则表达式是这样的:
(\(\ *\)\ *=\>[\r\n\s\{\}]*CallMethod\ *\(\ *\)[\r\n\s\{\}]*,)
在C#代码中,您可以这样做:
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"(\(\ *\)\ *=\>[\r\n\s\{\}]*CallMethod\ *\(\ *\)[\r\n\s\{\}]*,)", System.Text.RegularExpressions.RegexOptions.Multiline);
regex.Replace(document, string.Empty);
希望这会对你有所帮助。