是否有任何正则表达专家可以帮我清理以下源代码?我正在浏览一些现有的代码,我看到几个类似于以下的实例:
public enum Numbers
{
/// <summary>
/// One = 1,
/// </summary>
One = 1,
/// <summary>
/// Two = 2,
/// </summary>
Two = 2,
/// <summary>
/// Three = 3,
/// </summary>
Three = 3,
/// <summary>
/// Four = 4 but don't use this because it will break everything,
/// </summary>
Four = 4,
}
除非有人能告诉我1-3的注释是必要的,否则我想对所有不对代码添加任何值的注释进行查找/替换(删除)。通过浏览代码,我认为可以安全地假设任何类似于“/// word = number”的行都可以替换。清理干净,我觉得应该是这样的:
public enum Numbers
{
One = 1,
Two = 2,
Three = 3,
/// <summary>
/// Four = 4 but don't use this because it will break everything,
/// </summary>
Four = 4,
}
非常感谢您的帮助!通过帮助我,你真的在帮助自己。因为谁知道,有一天你可能会维护这个代码!
答案 0 :(得分:2)
这是一个将删除此类注释的perl脚本:
my $text = join "", <>;
$text =~ s{///\s+<summary>\s+///\s+\w+\s+=\s+\d+,\s+///\s+</summary>}{}g;
print $text;
答案 1 :(得分:2)
使用VS2008 FindAndReplace我试过这个并且工作了;
查找内容:
/// \<summary\>.*\n.*\=:b:d[:b,]*\n.*\<\/summary\>\n
替换为:
(empty)
使用:强>
正则表达式
答案 2 :(得分:0)
您是在使用类似unix的操作系统还是使用cygwin?
我从来没有使用正则表达式进行多行匹配,但是有一个使用sed的链接来做...
http://www.ilfilosofo.com/blog/2008/04/26/sed-multi-line-search-and-replace/
我稍后会阅读并编辑此答案,以便将其应用到您的问题中。或者也许其他人会。