有以下Perl
代码,用于删除C多行注释:
sub StripMultilineComments {
my $string=shift();
$string =~ s#/\*.*?\*/##sg; #strip multiline C comments
return $string;
}
由于我是Perl
和正则表达式的新手,我并不完全理解它是如何工作的。
答案 0 :(得分:4)
嗯,说它有效是在夸大事情。例如,
char* s1 = "/*";
char* s2 = "*/";
变为
char* s1 = "";
和
// /*
i = 5;
// */
变为
//
那就是说,
$string
。$string
。替换运算符使用的pattern匹配
/
。*
。.*?
/ s)。*
。/
。由于非贪婪修饰符(?
),第三个原子匹配它可以的最小字符数(在所需位置)。