REGEX-在html注释模式之间插入内容
REGEX - Inserting things between html comment pattern
我正在尝试创建一些js来延迟加载html文件。因此,我必须在html注释中创建模式,然后为js文件注入脚本标记。有点像大口注射,但我自己的方式。
以下是html注释示例:
<!--inject:module:js-->
<!--endinject-->
我想确定注释模式,然后在里面注入脚本标记,它应该做一些类似的事情:
<!--inject:module:js-->
<script src="app/start.module.js"></script>
<script src="app/some.module.js"></script>
<script src="app/content.module.js"></script>
<!--endinject-->
以下是我迄今为止在RegEx:上所做的尝试
/(<!--(inject:?(['w]*?)?:?(['w]*?)?)-->)(<!--endinject-->)*?/gm
它将只选择第一个"注入"注释。
<!--inject:module:js-->
PS.:我还是RegEx的新手。
谢谢!
应用于时
<!--inject:module:js-->
<script src="app/start.module.js"></script>
<script src="app/some.module.js"></script>
<script src="app/content.module.js"></script>
<!--endinject-->
这个
(<!--inject:('w+):('w+)-->(?:(?!<!--endinject-->)['s'S])*)(?=<!--endinject-->)
匹配:
第1组:
<!--inject:module:js-->
<script src="app/start.module.js"></script>
<script src="app/some.module.js"></script>
<script src="app/content.module.js"></script>
组2和组3分别包含module
和js
。
您可以继续使用$1'n<script src="another/script.js"></script>'n
替换任何匹配项。
这将保留注释结构,因此可以在同一输入上连续使用多次。
经过一些尝试(感谢@Tomalak),我找到了解决方案。
给定当前带有脚本标记的html注释:
<!--inject:module:js-->
<script src="app/start.module.js"></script>
<script src="app/some.module.js"></script>
<script src="app/content.module.js"></script>
<!--endinject-->
我这样做是为了匹配3组:
/(<!--(inject:?('w*?):?('w*?)?)-->)(['s'S]*?)(<!--endinject-->)/g
其中第1组为:
<!--inject:module:js-->
第2组为:
<script src="app/start.module.js"></script>
<script src="app/some.module.js"></script>
<script src="app/content.module.js"></script>
第3组是:
<!--endinject-->
通过这3个匹配,我可以检测注释模式,并在组2中附加其他脚本标记。这就是我想要的。
以下是测试链接:http://regexr.com/3cibb
谢谢大家的帮助!
相关文章:
- 在帖子的网格循环之间插入Javascript(Adsense)
- 表达式和插入表达式的插值标记之间的差异
- 在数组中的偶数之间插入连字符
- jquery多次在元素之间插入html
- 在更改时选择,插入类似函数的参数或指令之间的差异
- 当数据库值为 NULL 时,如何在 XML 标记之间插入空格
- 单击时在文本之间插入图像节点
- 如何使用javascript在文本之间插入图像节点
- 需要使用什么正则表达式将内容插入某些字符的第 n 次出现之间
- 使用 JavaScript 如何在行的现有
之间插入空白 标签 - 使用 javascript 在两个列表项之间插入下拉项
- 在两个 HTML 注释行之间插入内容
- 如何在两个连续的图像之间插入黑色空格
- 循环遍历 JSON,在对象之间插入键/值
- 如何在数组的元素之间插入空格,该数组作为 HTML 表单的输入读取
- 如何在内容可编辑列表项(不同缩进)之间移动插入符号,同时保持插入符号 x 偏移量
- REGEX-在html注释模式之间插入内容
- 如何在contenteditable中获取介于@和插入符号之间的字符范围
- 使用jQuery在祖先和后代之间插入元素
- 在wordpress网站的帖子之间插入谷歌广告,并进行无限滚动