正则表达式选择任何 html 标记之间的字符串

Regex select string between any html tag

本文关键字:之间 字符串 选择 任何 html 正则表达式      更新时间:2023-09-26

我需要能够获取任何html标签之间的所有内容。目前我正在使用:

var result = data.match(/<p>(.*?)<'/p>/g).map(function(val){
 // validate
}

我得到的最接近的是:<[a-z1-9]{1,10}>(.*?)<'/[a-z1-9]{1,10}>

但是,查看正则表达式测试器,这是不正确的。

它没有关闭匹配的标签,甚至缺少一些,我错过了什么?

我的目标是获取所有标签之间的任何内容,而不是某个两个标签之间的任何内容。

https://regex101.com/r/jR7wZ3/1

感谢@WiktorStribiżew

var el = document.createElement( 'faketag' );
el.innerHTML = txt;
var arr = [];
[].forEach.call(el.childNodes, function(v,i,a) {
        arr.push(v.innerHTML);
});
console.log(arr);

https://jsfiddle.net/uncysdv4/1/