繁体   English   中英

JavaScript正则表达式替换

[英]JavaScript regex replacement

我有这个字符串:

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>  

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

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

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

或简单地使用:

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

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

您不能替换特定的组,而是可以将组值用作替换值。 您可以只使用字符串替换,此处并不需要正则表达式。 如果您在替换中的某处使用了值20 ,则将使用。

在这种情况下使用正则表达式可能会导致过度杀伤,并且会妨碍您的性能,以至于无法替换简单的文本。 最好使用不带正则表达式参数的string.replace

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM