正则表达式使用javascript将多个数字返回到数组中

时间:2017-02-11 13:49:39

标签: javascript jquery regex

在Stackoverflow的另一篇文章中,我找到了这行代码

myString = 'hello112';
myNumber = myString.match(/\d+/)[0];

在这种情况下,' myNumber'变量的值为122。

但是当我在以下情况下使用.match时,它会失败:

myColor = 'rgb(210,255,105);
myNumbers = myColor.match(/\d+/);

' myNumbers'变量是一个数组,但它的长度为1,它只包含' 210'而不是其他2个数字。

Javascript中有没有办法可以实现这样的目标?

input = 'rgb(210,255,105);
output = [210,255,105];

非常感谢。

2 个答案:

答案 0 :(得分:3)

除非另有说明,否则complete仅匹配第一个实例,而不是全部匹配。你需要全球性的" g"在模式之后标记。

match()

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp

附注:您不能将全局修饰符与子组匹配结合使用,但这不会影响您的情况。

答案 1 :(得分:1)

你必须使用g - 全球旗帜。

myColor = 'rgb(210,255,105)';
console.log(myColor.match(/\d+/g));