当前位置:  开发笔记 > 编程语言 > 正文

需要理解为什么正则表达式没有替换所有匹配

如何解决《需要理解为什么正则表达式没有替换所有匹配》经验,为你挑选了1个好方法。

我试图找出以下正则表达式以及为什么它给我的结果我得到了.

我有以下javascript:

let result = '7979797'.replace(/797/g,'77');

我希望结果的值为7777,但它的值为77977.

我希望有人可以解释为什么我得到77977的值以及我需要更改为正则表达式以使其替换所有具有模式797到77的字符串.



1> Jonathan Lef..:

当正则表达式替换第一个正则表达式79777,它不会重新扫描它已替换的材料(the 77),因此它会看到9下一个,然后797导致您得到的结果.


另外,可以通过前瞻功能实现替换所有匹配的正则表达式.let result ='7979797'.replace(/ 79(?= 7)/ g,'7');
推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有