JavaScript正则表达式替换

时间:2011-11-29 08:11:00

标签: javascript

我有这个字符串:

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>  

><也被替换了...
我该怎么办?

2 个答案:

答案 0 :(得分:4)

您可以匹配><,然后将它们放在替换位置旁边:

.replace(/(>)\d*(<)/, "$140$2")

或只是使用:

.replace(/>(\d*)</, ">40<")

您要在字符串中替换它,因此您不需要将替换替换为整数。

答案 1 :(得分:0)

您无法替换特定组,而是可以将组值用于替换值。你可以只使用字符串替换,这里不需要正则表达式。如果你在替换的某个地方使用了 20 值,那就可以了。

在这种情况下使用正则表达式是一种过度杀戮,并且只是为了替换一个简单的文本而妨碍你的表现。最好在没有正则表达式参数的情况下使用string.replace

a.replace(">20<", 40);

请注意,您没有提到要替换>/d+< 格式的所有数字,如果这是您的要求,那么就像这样使用正则表达式:

a.replace(/>(\d*)</, ">40<")