gpt4 book ai didi

javascript - 使用 JavaScript 正则表达式风格,如何仅在另一个特定标签内匹配特定标签?

转载 作者:行者123 更新时间:2023-11-30 16:00:51 26 4
gpt4 key购买 nike

我只想匹配 <br> <main> 内的标签标记而不是全部:

enter image description here

是否可以使用 JS 正则表达式来实现?我正在尝试在项目中的所有文件中查找并替换(使用正则表达式)。

这是原始文本:

<br>
<main>
<input>
<br>
<hr>
<br>
<etc>
</main>

最佳答案

使用 DOM解析 HTML 文本总是更好。但是,如果由于某种原因您不能使用 DOM这是匹配所有 <br> 的正则表达式解决方案<main> 之间的标签和 </main> .

/<\s*br\s*\/?>(?=.*?(?:(?!<main>)[\s\S])*?<\/main>)/gi

正则表达式分解:

<\s*br\s*\/?>   # matches <br> or <br />
(?= # start of lookahead
.*? # any arbitrary text, lazy
(?: # start of non-capturing group
(?! # start of negative lookahead
<main> # literal text <main>
) # end of negative lookahead
[\s\S]*? # match 0 or more of any char including newline, lazy
) # end of non-capturing group
<\/main> # match </main>
) # end of lookahead
/gi # make it global ignore case match

RegEx Demo

关于javascript - 使用 JavaScript 正则表达式风格,如何仅在另一个特定标签内匹配特定标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37781927/

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