我一直在搜索,但没有找到解决方案。
我有一个正则表达式:
var reg = /^((\d){1,5}(\.|,)(\d{2}))/;
和一个字符串:
var str = '12323.098765421';
我正在尝试保留与regexp匹配的部分,并删除所有其余部分。
我在做什么:
str.replace(/^((\d){1,5}(\.|,)(\d{2}))/, '$1 // can't understand what should I put here to replace first part');
假设您有一个以符合模式的数字开头的字符串:
1 to 5 digits + decimal separator + 2 digits
此模式后可以跟任何字符,甚至包括换行符。然后,在JS中,可以使用以下替换:
.replace(/^(\d{1,5}[.,]\d{2})[\s\S]*/, "$1")
在哪里
^
-匹配字符串的开头(\d{1,5}[.,]\d{2})
-匹配并捕获我们的模式(带小数点分隔符,
或.
作为小数点分隔符)[\s\S]*
-匹配任何0+字符,甚至包括换行符。var re = /^(\d{1,5}[.,]\d{2})[\s\S]*/;
var str = '12323.098765421';
var result = str.replace(re, "$1");
console.log(result);
的$1
是反向引用与组1所拍摄的值(具有一对非转义括号的帮助下形成的)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句