我有这个字符串:
var s = '<span style="font-size:13px">20<div class="lblTitle"></div><span>';
我想替换20到40,我试过:
a.replace(/>(\d*)</, 40)
但它会导致:
<span style="font-size:13px"40div class="lblTitle"></div></span>
>
和<
也被替换了...
我该怎么办?
答案 0 :(得分:4)
您可以匹配>
和<
,然后将它们放在替换位置旁边:
.replace(/(>)\d*(<)/, "$140$2")
或只是使用:
.replace(/>(\d*)</, ">40<")
您要在字符串中替换它,因此您不需要将替换替换为整数。
答案 1 :(得分:0)
您无法替换特定组,而是可以将组值用于替换值。你可以只使用字符串替换,这里不需要正则表达式。如果你在替换的某个地方使用了 20 值,那就可以了。
在这种情况下使用正则表达式是一种过度杀戮,并且只是为了替换一个简单的文本而妨碍你的表现。最好在没有正则表达式参数的情况下使用string.replace
。
a.replace(">20<", 40);
请注意,您没有提到要替换>/d+<
格式的所有数字,如果这是您的要求,那么就像这样使用正则表达式:
a.replace(/>(\d*)</, ">40<")