尝试找到一个正则表达式来替换javascript replace()
字符串:
-14-2
正则表达式:
/(?<=\d)-(?=\d)/
这适用于PHP和Ruby,但它并不表示JavaScript支持后面看。
有什么建议吗?
答案 0 :(得分:2)
var str = "-14-2";
var re = /(\d)-(\d)/;
var newstr = str.replace(re, "$1.$2");
console.log(newstr)
<强> jsFiddle example 强>
答案 1 :(得分:1)
var s = '-14-2-'
var r = s.replace(/(\d)?-(?=\d)/g, function($0, $1) {
return $1 ? $1+'.' : $0
}); //=> "-14.2-"
答案 2 :(得分:0)
不幸的是,Javascript并不支持lookbehind。
在您的情况下,您可以使用以下内容:
var numbers = "-14-2";
numbers.replace(/(\d+)-(\d+)/, "$1.$2")
答案 3 :(得分:-1)
字符串是否比您展示的更多?因为你可以简单地做到
var f = "-14-2";
f.replace(/(\d)-(\d)/,function(a,b,c){
return b+"."+c}
);
//.14.2