我有这个HTML标记<a href="abc> google </a>
,如何使用正则表达式将&#34; 放在 c 之后
HTML:/\=\s*["“'”](.*?)[^“"'”]\s*\>/g
正则表达式:function test90(element, input, inpArray, secIndex, inpActive, counter, Ipp) {
Ipp = $("#" + element.id).data(inpActive);
if (counter == 0){
counter++;
$(element).data(inpActive, "primary");
inpArray[0]=("result1");
}else
if (Ipp=="no") {
counter++;
$(element).data(inpActive, "yes");
inpArray[secIndex]="result2";
}else
if (Ipp=="yes") {
counter--;
$(element).data(inpActive, "no");
inpArray[secIndex]="";
}else
if (Ipp=="primary" && counter!==1) {
counter--;
$(element).data(inpActive, "no");
inpArray[0]="result3";
}else
if (Ipp=="primary" && counter==1) {
counter--;
$(element).data(inpActive, "no");
inpArray[secIndex]="";
inpArray[0]="result4";
}
$(input).val(inpArray[0]+inpArray[1]+inpArray[2]);
$("#z1").html("counter = "+counter);
$("#z2").html("Ipp = "+Ipp);
};
var inpreco = ["", "", ""];
var inprocess = ["", "", ""];
var cpcounter1 = 0;
var cpcounter2 = 0;
$(".opcaopreco1").click(function () {
cpcounter1=test90(this, "#preco", inpreco, "cpindex1", "cpactive1", cpcounter1, "Ipp1");
});
$(".opcaopreco2").click(function () {
cpcounter2=test90(this, "#process", inprocess, "cpindex2", "cpactive2", cpcounter2, "Ipp2");
});
替换:=&#34; $ 1&#34;&gt;
https://regex101.com/r/1FQods/1
答案 0 :(得分:2)
怎么样
{{1}}
答案 1 :(得分:1)
我建议如下:
str.replace(/=\s*["']([^"']*?)\s*?(?=>)/g,'="\1"');
这也适用于第二个"
已存在的情况。它还允许=
和字符串开头之间的空白。
点击此处查看演示:https://regex101.com/r/xo52ka/1
另一个问题可能是:
<a href="abc def > google </a>
我的解决方案会将其变为
<a href="abc def"> google </a>
但是,当然,这个解决方案有其局限性,到目前为止还没有水密。它只适用于每个标记的 last 属性(因为正则表达式中的前瞻(?=>)
)。