regex,用于在任意两个HTML标签之间匹配 我有以下内容:

问题描述 投票:0回答:4
我已经检查了Regex中的look-head和look behind的概念 还检查了链接

regex-match-attribute in-a-html-code

我正在尝试的两个正则表达式:

\“([^“]*)\” (?s)(?)(。+?)(?=

都不适合我,尝试使用[
    Https://regex101.com/r/apbuew/2]
  1. 我期望它在字符串为文本时仅匹配 当前行为与两种情况匹配 <=<([^{]*)>Edit:我希望文本是动态的,而不是特定于测试文本
为任何两个HTML标签之间的字符串

(?![^<>]*>)(TEST\-TEXT) 这里,假设您具有有效的HTML,则负LookAhead确保我们不在标签定义中,其中所有属性都被定义。它通过确保出现的下一个角度括号不是

>

表示我们在标签定义中。

注意,以下等级也将达到相同的结果:

(?=[^<>]*<)(TEST\-TEXT)
java regex pcre regex-greedy replaceall
4个回答
1
投票
或均匀

(TEST\-TEXT)(?=[^<>]*<)


像这样的东西应该有所帮助:

\>([^"<]*)\<

Edit:

没有打开和关闭标签包括:
(?<=\>)([^"<]*)(?=\<)




0
投票
TEST-TEXT(?=<\/a>)

匹配Test-Text

TEST-TEXT

向前看查看关闭标签

?=

见
Regex101

0
投票

这里,我们可能只会在您已经在做的所需输出的右侧添加软边界,然后在所需的输出中添加一个char列表,然后收集,然后我们可以使用捕获组
</a>

进行替换。也许与此相似:

()

demo
this片段只是为了证明该表达式可能是有效的:


0
投票

Regex
如果不需要此表达式,则可以在

regex101.com.enter image description here中对其进行修改或更改。 Regex电路

jex.im

还有助于可视化表达式。

也许这会有所帮助吗?
const regex = /([A-Z-]+)(<\/)/gm; const str = `<div class="TEST-TEXT">hi</span><a href=\\"https://en.wikipedia.org/wiki/TEST-TEXT\\">first young CEO's TEST-TEXT</a><span class="test">hello</span><div class="TEST-TEXT">hi</span><a href=\\"https://en.wikipedia.org/wiki/TEST-TEXT\\">first young CEO's TEST-TEXT</a><span class="test">hello</span>`; const subst = `NEW-TEXT$2`; // The substituted value will be contained in the result variable const result = str.replace(regex, subst); console.log('Substitution result: ', result);

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.