使用扫描功能红宝石的空阵列

时间:2017-03-01 16:08:34

标签: arrays ruby string

我刚刚开始使用ruby,我在理解scan方法时遇到了一些麻烦:

my_string = "0000000001000100"
string_group = my_string.scan('/...../')
puts string_group
puts string_group.class

它显示我有一个数组,但数组是空的。它不能来自我的正则表达式,因为我测试了它并尝试了另一个:

'/[01]{5}/'

为什么我得到一个空数组?

1 个答案:

答案 0 :(得分:4)

因为Ruby中的正则表达式是字面的,而不是字符串 - 你的正则表达式周围有单引号,所以scan正在搜索文字字符串/...../,而不是匹配正则表达式/...../ 。试试这个:

my_string = "0000000001000100"
string_group = my_string.scan(/...../)

这给出了这个:

["00000", "00001", "00010"]