-1

我正在编写一个简单的 Ruby 脚本来解析网页中赛马的名称。此正则表达式适用于http://rubular.com/,但我的脚本在运行时不打印任何内容。

require 'open-uri';

url = "http://www.bloodhorse.com/horse-racing/race/race-results";
connection = open(url);
content = connection.read;

if(content =~ /(<span class="horseName">)(\n)(.*?)(\>)(.*?)(<\/a>)/)
    print $5,"\n";
end

一些页面来源的示例是:

<li value="2">
<span class="horseName">
<a href="/horse-racing/thoroughbred/felonious-fred/2010">Felonious Fred</a>

所以我认为我的脚本应该返回匹配正则表达式的第 5 次捕获,在这种情况下应该是“重罪弗雷德”。我究竟做错了什么?

4

1 回答 1

0

如果你正在报废一个网页,我建议你使用 Nokogiri gem。将为您省去正则表达式的麻烦。

于 2013-10-23T10:08:44.467 回答