繁体   English   中英

RegEx 只查看 HTML 标签内的文本?

[英]RegEx to only look at text inside HTML tags?

我最近开始学习/使用 RegEx。

有没有办法避免匹配属于 HTML 标签属性或属于标签属性的词?

例如:

<p style=“position: absolute”>position: </p>

我试过

/\bposition\b\W\s/g

但这与这两种情况相匹配。

我可以只匹配第二个“位置:”吗?

澄清:

我正在尝试在文档中搜索用户输入的单词并将它们替换为包含这些单词的span元素 - 这类似于“Ctrl + F”。 仅仅拥有文本是不够的,因为一旦文本被span元素替换,我还需要一种方法来更新文档。

匹配 HTML/XML 标签的正则表达式是/(<([^>]+)>)/ig 也许这就是你要找的。

 let str = '<p style="position: absolute">position: </p>'; const strWithoutTag = str.replace(/(<([^>]+)>)/ig, ''); console.log(strWithoutTag);

免责声明:使用诸如document.innerText和其他 DOM API 之类的东西,而不是 Regex。

匹配 HTML 标签:

<.+?>/g

匹配 HTML 标签中的所有内容(也应该处理嵌套标签):

/(?<=<.+.>)(.*?)(?=<.*\\/.+.?>)/g

https://regex101.com/r/2uZHli/上面的例子。

您可以尝试使用正则表达式来匹配您的温度,它与第二个“位置:”相匹配。

/(?=\b.*(?<yourKeyword>position).*\b)(?<=<[^]*>)([^<>]+)(?=<\/([^<>]*)>)/g

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM