我有一个字符串如下:
Some:7 Stuff " x 3 "
我有以下RegEx:
/(\d+)(?!.*\d)/g
它正确地抓住了字符串中的3
,但是我需要它来抓取其他所有内容所以我可以.replace()
它。我基本上需要它的反转,但我该怎么做呢?
我只想在运行.replace()之后保留3。目前它删除了3。
编辑:相关代码here。
答案 0 :(得分:1)
为什么不尝试match
而不是替换?
'Some:7 Stuff " x 3 "'.match(/(\d+)(?=[^\d]*$)/).pop(); //3
我不完全确定正则表达式在所有情况下都能满足您的需求,因为我不了解您的需求,但这仅仅是为了这个例子。
如果最后一个数字确实是你想要保留的唯一数字,我认为它更像是从字符串中获取内容而不是替换。
答案 1 :(得分:0)
这应符合您的期望:
var str = 'Some:7 Stuff " x 3 "';
console.log(str.replace(/^.*?(\d+)[^\d]*$/, '$1'));
答案 2 :(得分:0)
使用正则表达式替换:
'Some:7 Stuff " x 3 "'.replace(/(\d+)(?!.*\d)/g, "NEW_VALUE");
// gets "Some:7 Stuff " x NEW_VALUE ""