从html标记格式的字符串中提取键值对

Extract key-value pairs from html tag formatted String

本文关键字:字符串 提取 键值对 格式 html      更新时间:2023-09-26

我有这个字符串:

编辑-我不能以html/dom/jquery的身份访问它

<meta charset="UTF-8" data-slide-length="5" data-prio="HIGH" data-freq="2">并且我想要提取自定义属性的键值对(data-)。

我不知道从哪里开始使用regexp,而且我似乎找不到一个足够接近的例子来理解。

所需输出:{幻灯片长度:5,prio:"HIGH",频率:2}

感谢

正如我的评论中所提到的,即使获得As字符串,也可以在内存中创建一个DOM元素,然后访问所需的属性:

var text = '<meta charset="UTF-8" data-slide-length="5" data-prio="HIGH" data-freq="2">'
var temp = document.createElement("div");
temp.innerHTML = text;
alert(temp.firstChild.dataset.slideLength) // 5

收集完所有需要的信息后,可以将temp设置为null

但是,如果由于某种原因您不能这样做,那么您要查找的regexp将类似于/('S+)="(.*?)"/g,然后您需要迭代字符串:

var text=''

var m, re = /('S+)="(.*?)"/g;
while (m = re.exec(text)) {
  alert("key:" + m[1] + " value: " + m[2])  
}

从这里你可以创建你的对象。

如果您知道矩阵名称,可以将此文本用作XML,并使用解析器读取数据矩阵。