Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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
Ruby 在组中使用正则表达式_Ruby_Regex - Fatal编程技术网

Ruby 在组中使用正则表达式

Ruby 在组中使用正则表达式,ruby,regex,Ruby,Regex,我有以下数据: data = [["/","201408","41"],["/","201409","35"],["/","201410","59"],["/","201411","50"],["/","201412","79"],["/","201501","97"],["/","201502","85"],["/","201503","518"],["/","201504","251"],["/","201505","748"],["/","201506","916"],["/","2015

我有以下数据:

data = [["/","201408","41"],["/","201409","35"],["/","201410","59"],["/","201411","50"],["/","201412","79"],["/","201501","97"],["/","201502","85"],["/","201503","518"],["/","201504","251"],["/","201505","748"],["/","201506","916"],["/","201507","1008"],["/","201508","449"],["/","201509","235"],["/","201510","195"],["/","201511","229"],["/","201512","202"],["/","201601","142"],["/","201602","134"],["/","201603","17"]]
我想按年份对它们进行分组,但我不知道如何在
groupby
中使用正则表达式。我应该是这样的:

grouped = data.group_by { |row| row[1] }

但是接下来呢?行[1]字符串是YYYYMM

为什么需要正则表达式?这不是你要找的吗

data.group_by { |d| d[1][0..3] }

我更喜欢幻觉的答案,但如果您仍然想使用正则表达式:
data.group_按{行{行[1]。匹配(/^(\d{4})/)。捕获[0]}


不是很干净,但它可以工作。

行[1]字符串是YYYYMMWrite,所以在问题中。