【发布时间】:2019-04-04 04:17:05
【问题描述】:
我想捕获 html cmets,但特定注释除外,即
<!-- end-readmore-item -->
目前,我可以使用下面的正则表达式成功捕获所有 HTML cmets,
(?=<!--)([\s\S]*?)-->
为了忽略指定的注释,我尝试了前瞻和后瞻断言,但在正则表达式的高级级别上是新手,我可能错过了一些东西。
到目前为止,我已经能够使用环视设计以下正则表达式,
^((?!<!-- end-readmore-item -->).)*$
我希望它忽略 end-readmore-item 评论,只捕获其他 cmets,例如,
<!-- Testing-->
但是,它完成了这项工作,但也捕获了我也想被忽略的常规 HTML 标记。
我一直使用下面的html代码作为测试用例,
<div class="collapsible-item-body" data-defaulttext="Further text">Further
text</div>
<!-- end-readmore-item --></div>
</div>
<!-- -->
it only should match with <!-- --> but it's selecting everything except <!--
end-readmore-item -->
the usage of this is gonna be to remove all the HTML comments except <!--
end-readmore-item -->
【问题讨论】:
标签: regex regex-negation regex-lookarounds