C# How to delete XML/HTML comments with regular expression

c#, regex

Solution

Change it to `RegExOptions.Singleline` instead and it'll work just fine. When not in Singleline mode, the dot matches any character, except newline.

Note that `Singleline` and `Multiline` are not mutually exclusive. They do two separate things. To quote MSDN:

Multiline mode. Changes the meaning of ^ and $ so they match at the beginning and end, respectively, of any line, and not just the beginning and end of the entire string.

Single-line mode. Changes the meaning of the dot (.) so it matches every character (instead of every character except \n).

Other people have already suggested the HTML Agility Pack. I just felt you should have an explanation on why your Regex wouldn't work :)

Problem

The fragment below doesn't work for me. ``` fragment = Regex.Replace(fragment, "<!--.*?-->", String.Empty , RegexOptions.Multiline ); ```

Original source