gpt4 book ai didi

javascript正则表达式匹配所有自定义注释掉的部分,但不匹配其他文本

转载 作者:行者123 更新时间:2023-11-29 21:53:49 25 4
gpt4 key购买 nike

假设我有一个这样的 html 文档:

<!--FOO-->
some text
<!--BAR-->

some other text

<!--FOO-->
some more text
<!--BAR-->

我怎样才能写一个匹配这两种情况的 javascript 正则表达式

<!--FOO-->anytext<!--BAR--> 

但不是中间的文本(在本例中为“其他文本”)。

我认为可行的正则表达式是

/<!--FOO-->(.|\n)*<!--BAR-->/  

但它也会捕获“其他一些文本”。

最佳答案

你需要非贪婪运算符 ?,像这样:

/<!--FOO-->(.|\n)*?<!--BAR-->/

Demo

一个稍微好一点的版本是这样的,让你实际捕获评论之间的文本:

/<!--FOO-->((?:\n|.)*?)<!--BAR-->/

Demo

就是说,用正则表达式解析 HTML 很少有好的结果... See here for the classic explanation of the problem .您最好使用库,除非您的解析仅限于问题中非常简单的情况。

关于javascript正则表达式匹配所有自定义注释掉的部分,但不匹配其他文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27554095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com