正则表达式匹配多行注释

时间:2013-04-26 11:57:42

标签: c# regex comments

我一直在尝试使用正则表达式匹配HTML文件中的注释,并通过C#.net(VS2010)解决方案完全删除它们。 这是评论的样子,

/*This flexibility is not available with most other programming languages. E.g. in Java,
the position for \G is remembered by the Matcher object.
The Matcher is strictly associated with a single regular expression and a single subject
string.*/

我确实尝试了/\*.+\*/

str = File.ReadAllText("Test.html");<br />
str = Regex.Replace(str, "/\*.+\*/", "", RegexOptions.Singleline);<br />
File.WriteAllText("Test.html", str);

但他们没有为我工作。我在论坛上听了一些答案,但仍然没有运气。

我很感激任何帮助:)

...谢谢

2 个答案:

答案 0 :(得分:1)

你必须在字符串文字中添加一个额外的转义层:

str = Regex.Replace(str, "/\*.+\*/", "", RegexOptions.Singleline);

生成/*.+*/作为模式,因为\是c#字符串文字的转义元符号。你需要使用以下一个变体来指定它(@阻止转义序列的处理,\\应该是不言自明的......):

str = Regex.Replace(str, @"/\*.+\*/", "", RegexOptions.Singleline);

str = Regex.Replace(str, "/\\*.+\\*/", "", RegexOptions.Singleline);

答案 1 :(得分:0)

要查找/*comments*/,请尝试使用此正则表达式:

/\/\*.+?\*\//ims