JavaScript RegExp取代HTML注释
JavaScript RegExp replace HTML comments
我正在寻找一种方法来取代所有html评论从一个字符串像浏览器一样。(多行未闭)
例如,我实际上使用/(<'!--['s'S]*?-->)/gim
,但如果html注释是未关闭的,它不会替换它。
通常情况下,如果注释标签不是关闭的,注释标签将获得打开标签之后的所有内容…
是否有一种方法来适应regexp(或任何其他regexp)做的东西?(在JavaScript中)
这将标记所有注释,包括没有结束标记的注释:<!-- some text -->
<!--['s'S]*?(?:-->|$)
这将标记所有注释,包括没有结束标签的注释:<!-- some text //-->
<!--['s'S]*?(?://-->|$)
这将标记从第一个<!--
到文件末尾的所有内容
<!--['s'S]*?(?:$) and regex set to `^$ don't match at line breaks`
这将标记从第一个<!--
到行末的所有内容
<!--.*
我必须同意这样使用正则表达式不是一个好的实践,你不应该这样做…这是为什么。
但是,为了更好地理解正则表达式,您可以将其设置为可选的:
/(<'!--['s'S]*?(?:-->)?)/gim
-
我将
-->
用括号括起来,将它们组合在一起 -
我在该组后面放了一个
?
,使其成为可选的 -
(不需要)我把
?:
组内部,以保持regex引擎从保存回引用…
感谢@Andie2302的帮助。
此regexp /<!--['s'S]*?(?:-->|$)/gi
工作查找。
不要使用标志m
!
相关文章:
- 使用JQuery或Javascript编辑HTML注释文本
- 删除Angular JS中的辅助HTML注释
- 如何在生成的HTML页面中隐藏JavaScript注释
- jquery添加了带有注释的html的表行
- 如何呈现带尖括号的HTML注释<!--{{myModel.myProperty}}-->
- 解析 HTML 注释中的键值 json
- Ajax 输出 html 注释
- 如何为 JavaScript 生成的 HTML 注释添加事件
- QNetworkReply 不会在 HTML 注释中隐藏 JavaScript
- 记事本++:行注释的类型(javascript 和 html),具体取决于 TAG
- 在两个 HTML 注释行之间插入内容
- 隐藏的代码注释,甚至在源代码(HTML / JS)中
- 保留粘贴到 IE 中的 HTML 片段的条件注释
- 带有锚点标签、http:// 或URL的PHP注释以及其余的HTML标签是纯文本
- geochart:添加html注释到它或其他任何其他替代图表
- REGEX-在html注释模式之间插入内容
- HTML注释(如果没有javascript)
- 为什么我可以't在HTML标记中插入注释
- 带有JSOUP的HTML注释
- 使用Javascript在页面上插入HTML注释