几个月前,我的一位同事离开了。他曾经用这种方式评论他的所有代码:
//----------------------------
// COMMENT
//----------------------------
private void func()...
因此每个评论最多使用1行,而不是使用1行(包括断行),这让我发疯。我正在尝试创建一个正则表达式,我可以安全地删除此注释并替换它。上面的代码应该是这样的:
// COMMENT
private void func()...
我想要删除'// ----------------------------'中的每一个,但它留下了很多空行以及注释和要描述的实际行之间的断行。任何帮助将不胜感激。
修改
注意一个: 我们的项目是用Visual Studio编写的
注意二:有些评论可能包含多行注释,例如:
//----------------------------
// LINE 1 COMMENT
// LINE 2 COMMENT
//----------------------------
答案 0 :(得分:3)
此表达式与您的案例和任意3行注释相匹配,其中第一行和最后一行注释-
:
((\s|\t)*\/{2,})(.*[-]+)(\r?\n)((\1(.*)\4?)+)\4\1\3\4?
然后你可以用以下代码替换它:
\5 (or $5)
编辑用于多行评论。
答案 1 :(得分:1)
这是一个正则表达式,您可以用它去除多余的(装饰性)注释行,并将这些庞大的注释转换为单行注释。
它还支持使用此样式的缩进和多行注释:
(( |\t)*?\r\n)?( |\t)*?//-+(\r\n( |\t)*?// .+)+\r\n( |\t)*?//-+\r\n
<强>查找强>
\4
替换为:
\4
(如果替换失败,请将$4
替换为import requests
url = 'http://www.google.com/search'
my_headers = { 'User-agent' : 'Mozilla/11.0' }
payload = { 'q' : 'pizza', 'start' : '0' }
r = requests.get( url, params = payload, headers = my_headers )