我刚开始学习Ruby中的正则表达式。
字符串看起来像这样:http://www.site.com/media/pool/product_color_purple.jpg
,我想从中提取出只包含颜色的部分。这可能是一个可变长度的字符串,因为有些颜色像prince_purple.jpg
。
所以我有:
colour = c.attr('src').match(/(.*)color_(.*).jpg/)
puts "Colour is #{colour}"
返回的是字符串而不是提取的颜色,这里出了什么问题?
match
返回MatchData
,而 "mtch[0] 等同于特殊变量 $&,返回整个匹配的字符串。mtch[1]、mtch[2] 等返回匹配反向引用的值" - http://www.ruby-doc.org/core/classes/MatchData.html - Jonas Elfström