apple man <span field="apply to|1232sdsdf_nsdnfnln|Data" contenteditable="false"> open the door.
在这里,我希望将字段属性与'apply to', '1232sdsdf_nsdnfnln', 'data'
分开,并将其添加到另一个标记<data="apply to" value="1232sdsdf_nsdnfnln'">
这是我现在正在使用<span\s+(?:[^>]*?\s+)?field="([^"]*)"\scontenteditable="([^"]*)">
的正则表达式,它将输出组1作为apply to|1232sdsdf_nsdnfnln|Data
答案 0 :(得分:2)
所以只需拆分结果组:
var str = "apply to|1232sdsdf_nsdnfnln|Data";
var res = str.split("|");
console.log(res);
// Array [ "apply to", "1232sdsdf_nsdnfnln", "Data" ]
...或
var res = group1.split("|");
然后用它做任何你想做的事。
因此正则表达式可能如下所示:
const regex = /<span\s+(?:[^>]*?\s+)?field="([^"]*)"\scontenteditable="([^"]*)">/g;
const tag = `apple man <span field="apply to|1232sdsdf_nsdnfnln|Data" contenteditable="false"> open the door.`;
let m;
while ((m = regex.exec(tag)) !== null) {
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
m.forEach((match, groupIndex) => {
if (groupIndex == 1) {
var res = match.split("|");
console.log(`<data="${res[0]}" value="${res[1]}">`);
}
});
}
<强>结果强>:
<data="apply to" value="1232sdsdf_nsdnfnln">
<强>演示强>: