我刚刚开始使用ruby,我在理解scan
方法时遇到了一些麻烦:
my_string = "0000000001000100"
string_group = my_string.scan('/...../')
puts string_group
puts string_group.class
它显示我有一个数组,但数组是空的。它不能来自我的正则表达式,因为我测试了它并尝试了另一个:
'/[01]{5}/'
为什么我得到一个空数组?
答案 0 :(得分:4)
因为Ruby中的正则表达式是字面的,而不是字符串 - 你的正则表达式周围有单引号,所以scan
正在搜索文字字符串/...../
,而不是匹配正则表达式/...../
。试试这个:
my_string = "0000000001000100"
string_group = my_string.scan(/...../)
这给出了这个:
["00000", "00001", "00010"]