作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
假设我有一个这样的 html 文档:
<!--FOO-->
some text
<!--BAR-->
some other text
<!--FOO-->
some more text
<!--BAR-->
我怎样才能写一个匹配这两种情况的 javascript 正则表达式
<!--FOO-->anytext<!--BAR-->
但不是中间的文本(在本例中为“其他文本”)。
我认为可行的正则表达式是
/<!--FOO-->(.|\n)*<!--BAR-->/
但它也会捕获“其他一些文本”。
最佳答案
你需要非贪婪运算符 ?
,像这样:
/<!--FOO-->(.|\n)*?<!--BAR-->/
一个稍微好一点的版本是这样的,让你实际捕获评论之间的文本:
/<!--FOO-->((?:\n|.)*?)<!--BAR-->/
就是说,用正则表达式解析 HTML 很少有好的结果... See here for the classic explanation of the problem .您最好使用库,除非您的解析仅限于问题中非常简单的情况。
关于javascript正则表达式匹配所有自定义注释掉的部分,但不匹配其他文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27554095/
我正在编写一个快速的 preg_replace 来从 CSS 中删除注释。 CSS 注释通常有这样的语法: /* Development Classes*/ /* Un-comment me for
使用 MySQL,我有三个表: 项目: ID name 1 "birthday party" 2 "soccer match" 3 "wine tasting evening" 4
我是一名优秀的程序员,十分优秀!