Javascript pos或neg字符串中的两个数字使用正则表达式匹配
为什么这个正则表达式几乎可以返回一个由两个字符串组成的数组,可以用作正数或负数,但是第二个字符串的负号被删除了?我可以使用另一行或两行代码来考虑解决方法,但我真的很想让正则表达式正确地完成它。提前谢谢。(顺便说一下,这里的想法是字符串可以是“123321”或“12.3321”或“12332.1”,也可以是两个实数或整数的任何合理格式。)Javascript pos或neg字符串中的两个数字使用正则表达式匹配,javascript,regex,Javascript,Regex,为什么这个正则表达式几乎可以返回一个由两个字符串组成的数组,可以用作正数或负数,但是第二个字符串的负号被删除了?我可以使用另一行或两行代码来考虑解决方法,但我真的很想让正则表达式正确地完成它。提前谢谢。(顺便说一下,这里的想法是字符串可以是“123321”或“12.3321”或“12332.1”,也可以是两个实数或整数的任何合理格式。) //-->[“-123.23,-456.0”,“-123.23”,“456.0”]尝试:[^\w-]+而不是\w+ s = "-123.23, -456.0";
//-->[“-123.23,-456.0”,“-123.23”,“456.0”]尝试:
[^\w-]+
而不是\w+
s = "-123.23, -456.0";
s.match(/^([+-]?\d*\.\d*)[^\w-]+([+-]?\d*.\d*)$/)
<> P>而不是试图匹配整个行,您可以考虑只匹配数字…< /P>
var r = "-123.23, -456.0".match(/[+-]?\d+(?:\.\d+)?/g);
console.log(r); //=> [ '-123.23', '-456.0' ]
-
正在被\W+
使用。谢谢。我不想麻烦你解释,尽管我确实要求解释。我会查的。如果你有时间解释一下,那就说吧。或者我可以,这样更好。并用于返回更多维度的数组。谢谢
var r = "-123.23, -456.0".match(/[+-]?\d+(?:\.\d+)?/g);
console.log(r); //=> [ '-123.23', '-456.0' ]