gpt4 book ai didi

javascript - 如何在单个正则表达式中替换多个值?

转载 作者:行者123 更新时间:2023-11-30 00:09:32 25 4
gpt4 key购买 nike

我有一些值,如 10++10--10+-10-+。我的问题是如何使用单个 reg 表达式将这些值替换为匹配值。我需要一个像 10+10-10-10-。 它的意思

'++'='+',
'--'='-',
'+-'='-',
'-+'='-';

.请帮助我解决我的问题。

最佳答案

匹配并捕获您需要用特定字符串替换的替代项,然后使用替换回调查看哪个组匹配并相应地替换:

var s = '10++10--10+-10-+';
document.body.innerHTML = s.replace(/(\+\+)|([-+]-|-\+)/g, function(m, g1, g2) {
return g1? "+" : "-";
});

(\+\+)|([-+]-|-\+) 正则表达式包含 2 个替代组,因为有 2 个替换模式。第 1 组 (\+\+) 将匹配双加号,而第 2 组 - ([-+]-|-\+) - 匹配并捕获 -- +--+

关于javascript - 如何在单个正则表达式中替换多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37066944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com