比如我现在要提取这个 id=" 到 ">之间的内容,即abc A 和 456。可以这么用正则判断。

var  str = `<i id="abc A"></i>fffgggss<i id="456"></i>`;
//先提取出每一个<i></i>
str = str.replace(/<i.{0,}?>{0,}?<\/i>/g, function( a, b ){
    a.replace( /id="(.+?)"/, function(a, b){
        console.log("a: "+a);
        console.log("b: "+b)
    })
    return a;
});

输出的结果:

a: id="abc A"
b: abc A
a: id="456"
b: 456

又或者可以替换到不需要的内容,只留需要的内容

var  str = `<i id="abc A"></i>fffgggss<i id="456"></i>`;

var result = str.match(/<i.{0,}?id="(.+?)".+?>{0,}?<\/i>/g);
console.log(result);

输出结果:

[ '<i id="abc A"></i>', '<i id="456"></i>' ]

具体的用法可以在这两个上面就行改动;


Kason
209 声望6 粉丝