如何在javascript中从字符串中提取数字数组
使用javascript,我需要从这个字符串中提取数字:如何在javascript中从字符串中提取数字数组,javascript,regex,arrays,Javascript,Regex,Arrays,使用javascript,我需要从这个字符串中提取数字: [stuff ids="7,80"] 字符串可以有一到五组数字,用逗号分隔(每组有一个或多个数字),需要提取到数组中 我试过: var input = '[stuff ids="7,80"]'; var matches = input.match(/ids="(\d*),(\d*)"/); 这将给我一个包含7和80的数组(我想),但我如何进一步处理这个问题,以便在有两个以上(或少于两个)的情况下返回所有数字 此外,这是最好的解决方法吗
[stuff ids="7,80"]
字符串可以有一到五组数字,用逗号分隔(每组有一个或多个数字),需要提取到数组中
我试过:
var input = '[stuff ids="7,80"]';
var matches = input.match(/ids="(\d*),(\d*)"/);
这将给我一个包含7和80的数组(我想),但我如何进一步处理这个问题,以便在有两个以上(或少于两个)的情况下返回所有数字
此外,这是最好的解决方法吗
谢谢你的帮助
var numbers = '[stuff ids="7,80"]'.match(/\d+/g);
\d+
匹配任何连续数字(即数字),并且g
修饰符指示匹配所有数字
PS:如果您需要匹配负数:
var numbers = '[stuff ids="-7,80"]'.match(/-?\d+/g);
这太棒了!只是吹毛求疵,它不会拾取负号,例如,对于
'[stuff id=“7,-80”]
它仍然会返回[“7”,“80”]
。或者十六进制数:P,但谁在计数。@Vlad:yep,我记住了这一点,但通常ID是正数,所以我决定不这样做overcomplicate@zerkms非常感谢。很明显,我自己把事情弄得非常复杂。我也很感激正则表达式的解释。但愿我早点问。:-)