我有一个这样的字符串,
(1 AND 2 ) OR (2 AND 3)
我需要用数字+特殊字符(如1@,2@
)替换这个字符串所有数字,结果应该是这样的,
(1@ AND 2@ ) OR (2@ AND 3@),
所以我尝试了以下,
var d = "(1 AND 2 ) OR (2 AND 3)"
console.log(d.replace(/[0-9]/g, "@"))
但它只会产生这样的结果,
(@ AND @ ) OR (@ AND @)
我的预期输出是,
(1@ AND 2@ ) OR (2@ AND 3@)
尝试在输出中包含匹配项$&
:
const str = '(1 AND 2 ) OR (2 AND 3)'
console.log(str.replace(/\d/g, '$&@'));
您也可以使用(新的)lookbehind,这样边界匹配,但不是数字本身:
const str = '(1 AND 2 ) OR (2 AND 3)'
console.log(str.replace(/(?<=\d)/g, '@'));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句