No, that's wrong either. If the comment contains a dash ('-')
your regex won't remove it.
use YAPE::Regex::Explain;
print YAPE::Regex::Explain->new(qr(<!--[^-]+-->) )->explain();
__END__
The regular expression:
(?-imsx:<!--[^-]+-->)
matches as follows:
NODE EXPLANATION
----------------------------------------------------------
(?-imsx: group, but do not capture (case-sensitive)
(with ^ and $ matching normally) (with . not
matching \n) (matching whitespace and #
normally):
----------------------------------------------------------
<!-- '<!--'
----------------------------------------------------------
[^-]+ any character except: '-' (1 or more times
(matching the most amount possible))
----------------------------------------------------------
--> '-->'
----------------------------------------------------------
) end of grouping
----------------------------------------------------------
Example:
$ perl -le '$_="<!--rm me--><p>good</p><!--rm-too-->";s/<!--[^-]+-->//
+g;print'
<p>good</p><!--rm-too-->
|