正则表达式 - 删除<! - 和 - >之间的字符

时间:2013-02-08 09:21:36

标签: regex unix regex-negation

之前我尝试过一些正则表达式来修剪<!-- and -->之间的字符串(包括这些标签),但没有成功。

你能告诉我一些关于这个问题的信息吗?

2 个答案:

答案 0 :(得分:2)

正则表达式匹配 HTML评论

/<!--.*?-->/s

在此解释演示:http://regex101.com/r/qZ4uP9

答案 1 :(得分:2)

要匹配看起来像XML注释规则的文本中的注释(并且非常接近HTML注释规则),您需要这样的内容:

<!--.*?-->

假设您的语言的RE引擎支持非贪婪量词。删除需要在整个输入文本中重复匹配并替换空字符串;该语法取决于所讨论的语言。

如果没有非贪婪的量词,事情就会变得更加复杂(注意,对于HTML评论来说这略有不同,但你真的不想了解差异的细节):

<!--([^-]|-[^-])*-->

请注意--不是您在XML评论中应该遇到的事情,除非它后跟>;这是XML注释性质的一部分......