Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript pos或neg字符串中的两个数字使用正则表达式匹配_Javascript_Regex - Fatal编程技术网

Javascript pos或neg字符串中的两个数字使用正则表达式匹配

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";

为什么这个正则表达式几乎可以返回一个由两个字符串组成的数组,可以用作正数或负数,但是第二个字符串的负号被删除了?我可以使用另一行或两行代码来考虑解决方法,但我真的很想让正则表达式正确地完成它。提前谢谢。(顺便说一下,这里的想法是字符串可以是“123321”或“12.3321”或“12332.1”,也可以是两个实数或整数的任何合理格式。)


//-->[“-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' ]