我希望有人能帮助我。我不确定如何使用以下正则表达式。我正在使用带有 Javascript 的经典 ASP
completehtml = completehtml.replace(/\<\!-- start-code-remove --\>.*?\<\!-- start-code-end --\>/ig, '');
我有这段代码可以删除
之间的所有内容
<\!-- start-code-remove --\>
and<\!-- start-code-end --\>
在 line breaks
之前,它都可以完美运行在 start
之间的值中和 end
代码...
我将如何编写正则表达式来删除 start
之间的所有内容和 end
即使有 line breaks
感谢一百万的回应...
我应该使用 \n
吗?和 \s
字符不是 100% 确定..
(/\<\!-- start-code-remove --\>\s\n.*?\s\n\<\!-- start-code-end --\>/ig, '');
同样,<\!-- start-code-remove --\> <\!-- start-code-end --\>/
之间的代码不应该是贪婪的。并捕获组中的值...
这些集合中可能有 3 个或更多...
最佳答案
点不匹配 Javascript 中的新行,也没有修饰符可以做到这一点(与大多数现代正则表达式引擎不同)。一种常见的解决方法是使用此字符类代替点:[\s\S]
。所以你的正则表达式变成:
completehtml = completehtml.replace(
/\<\!-- start-code-remove --\>[\s\S]*?\<\!-- start-code-end --\>/ig, '');
关于javascript - 正则表达式删除换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687812/