【发布时间】:2013-11-01 13:10:11
【问题描述】:
我正在编写一个简单的 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 次捕获,在这种情况下应该是“Felonious Fred”。我做错了什么?
【问题讨论】:
-
如果我是你,我会使用像 Nokogiri 这样的东西。
-
我觉得有必要从 SO 的 Java 部分链接这个不朽的答案:stackoverflow.com/questions/1732348/…