在这样的网页上
<div>text text</div> |text text 55.555555 |44.444444 | <div>text <b>name</b></div>
我需要得到这样的数组
{ [55.555555 , 44.444444, "name"] , [ ... , ... , ... ], ... }
我想用正则表达式来实现 - 查找坐标部分,但我不知道如何写这部分:
return all text parts which match this expression
你能帮我一些想法/功能吗?
更新
我在这里找到了 nativeTreeWalker 函数获取所有文本节点/ SO ,我更改了此函数以查找 2 个数字和一个文本。这非常有效,但我仍然有一个错误,它返回偶数,如 1234 .. 没有小数。
function nativeTreeWalker() {
var walker = document.createTreeWalker(
document.body,
NodeFilter.SHOW_TEXT,
null,
false
);
var node;
var textNodes = [];
var name = false;
var elem = null;
while(node = walker.nextNode()) {
if (name){ elem.push(node.nodeValue); textNodes.push(elem); console.log(elem); name = false; }
else { elem = null; }
elem = node.nodeValue.match(/\d{2}.\d+/g);
if (elem!=null){ name=true; }
}
}
nativeTreeWalker()