正则表达式是正确的 - 但匹配返回零 - 为什么?

时间:2014-11-02 05:30:24

标签: ruby regex

好先生。

我似乎有一个像样的正则表达式来捕捉我想要的网址...

那我怎么用错呢?

2.0.0-p451 :237 > resbody
 => "{"provider_url": "http://www.popsci.com", ...
2.0.0-p451 :240 > resbody.match(/"thumbnail_url":"([^"]*)"/)
 => nil
2.0.0-p451 :241 > resbody.scan(/"thumbnail_url":"([^"]*)"/)
 => []
2.0.0-p451 :242 > resbody[/"thumbnail_url":"([^"]*)"/,1]
 => nil

1 个答案:

答案 0 :(得分:1)

该字符串看起来像JSON。因此,以下内容应该返回您需要的内容:

require 'json'
JSON.parse(resbody)['thumbnail_url']