【发布时间】:2015-03-31 12:37:20
【问题描述】:
我正在尝试编写一种方法来从大型文本文件中提取与条件匹配的每个字符串:
- 每个元素都用逗号分隔
- 前 5 个元素可以是 1-59 之间的任意数字
- 接下来的 21 个元素应该是 1-5 之间的数字
- 接下来的 27 个元素可以是真或假(无大写)
- 最后 5 个元素是 1-5 的整数
我的代码:
#this string should be returned by the regex matching
str="3,15,14,31,40,5,5,4,5,3,4,4,5,2,2,2,1,2,1,1,3,3,3,2,4,3,false,false,false,false,false,true,false,true,false,false,false,false,false,false,false,true,false,false,false,false,false,false,false,false,false,false,false,3,3,3,2,3"
matchResult=/[1-59]{5}[1-5]{21}[true|false]{27}[1-5]{5}/.match(str)
matchResult.each{|x| #this doesnt work....why?
puts x
}
- 打印所有匹配项的正确方法是什么?
matchResult.each引发错误。我以为它返回了一个匹配数组。 - 如何调整我的正则表达式以期望在每个值之间(而不是字符串末尾)有一个逗号?
【问题讨论】: