in reply to Re: Removing nested comments with regexes
in thread Removing nested comments with regexes
However, your code will stop working if you consider
my $string = "--This is a comment\nNot a comment\n" . "--This Comment continues here\nNOT a comment";
Comments do not necessarily occur at the beginning of the (rest of the) string. (At least that's how I understood the question.) I propose to simply do
my $string = "..."; $string =~ s/(^|\n)--[^\n]+//g; print "No comments: $string\n";
If you're perfectionistic, you will notice that this will leave a leading newline if the string starts with a comment. You can fix that by using
my $string = "..."; $string =~ s/\n--[^\n]+//g; $string =~ s/^--[^\n]+\n//; print "No comments: $string\n";
|
|---|