这个问题已经有答案了:
How to extract numbers from string containing numbers+characters into an array in Ruby?(1个答案)
上个月关门了。
我有一个像a:1,b:2,c:3,ids:4-5-6-7-
这样的字符串,想用正则表达式提取ids:
之后的数字,但不提取之前的数字。
我用Rubular试了一下:
ids:(?:(\d+)-)+
但我得到的只是最后一个数字。
我应该如何修改regex?
我想做的是得到下面的数组。
"`a:1,b:2,c:3,ids:4-5-6-7-`".scan(/regex/).flatten
=> ['4', '5', '6', '7']
1条答案
按热度按时间qfe3c7zg1#
我不认为有理由使用如此复杂的regexp,而是使用一个非常简单的: