如有个div标签,如何用正则提取里面的内容
'<div>hello world</div>'
正则
let matches = html.match(/<div>(.+)<\/div>/g))
if (matches !== null) {
let content = matches[1];
console.log(content)
}
DOM API
let div = document.querySelector('#div');
let content = div.innerText;
console.log(content);
if(/<div>(.+)<\/div>/.test('<div>hello world</div>')){
console.log(RegExp.$1)
}
或者
/<div>(.+)<\/div>/.exec('<div>hello world</div>')[1]
var content = [];document.body.innerText.replace(/<div>(.*?)<\/div>/g, function($0, $1) {
content.push($1);
return $0;
})
首先,这个问题问的不好。
什么样的 div, 大可以贴出来看看嘛?
需要提取哪些内容,大可以写出来分享下嘛?
因为很有可能,你现在问的,和你真正想要问的,有比较可观的差距。所以,问问题的时候,最好列出你的 context。
好了,回到正题,用正则(工具)提取div的内容。
这个时候,我们要使用 dom 的api。dom api - 教程
因为内容可能包含 html 标签,所以你可能需要酌情处理一下。
拿到 div 的内容之后,可以着手编写你的正则表达式,正则表达式-教程
就这些。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
5 回答2k 阅读
3 回答2.4k 阅读✓ 已解决
html不是正则语言,所以使用正则表达式分析比较麻烦,建议采用楼上的建议使用jquery的html()方法。