替换dom变量中的href值
问题描述:
var dstr='<p id="para"> demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo<a href="#table1(t1)" id="ytD2F">table1</a> test demo test demo test demo test demo test demo <a href="#table2(t2)" id="ytD2F">table2</a> demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test </p>';
我必须找到所有应存在table字符串的href属性,例如:href = #table1(t1)然后我必须用括号中的字符串替换它,例如:href =t1
i have to find all href attribute in which "table" string should be present eg:href="#table1(t1)" and then i have to replace it with the string present in braces eg:href="t1"
答
如果我理解正确,你需要这个:
If i understand you correctly, you need this:
var re = /(#table\d+)|\((\w{1,2})(\))/g;
var str = '<p id="para"> demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test demo<a href="#table1(t1)" id="ytD2F">table1</a> test demo test demo test demo test demo test demo <a href="#table2(t2)" id="ytD2F">table2</a> demo test demo test demo test demo test demo test demo test demo test demo test demo test demo test </p>';
var subst = '$2';
var result = str.replace(re, subst);
console.log(result);
Regex101演示: https://regex101.com/r/uP6uY7/1
Regex101 demo: https://regex101.com/r/uP6uY7/1