Hpricot

Hpricot を試してるんだけど、リンクにポート番号を含んでいるとき、うまくマッチしない。

irb(main):057:0> body = %Q|<a href="http://example.com:3000">example</a>|
=> "<a href=\"http://example.com:3000\">example</a>"

irb(main):058:0> doc = Hpricot(body)
=> #<Hpricot::Doc {elem <a href="http://example.com:3000"> "example" </a>}>

rb(main):060:0> doc/"a[@href^='http://example.com']"
=> #<Hpricot::Elements[{elem <a href="http://example.com:3000"> "example" </a>}]>

irb(main):061:0> doc/"a[@href^='http://example.com:3000']"
=> #<Hpricot::Elements[]>

あれー? まいったなぁ。":" に何か特別な意味があるのかなー?


追記:
しょうがないのでぶん回して回避。

link_exist = false
doc.search(:a).each{|a| link_exist = true if a[:href] == 'http://example.com:3000'}

(doc/:a){|a| ...} でもいいんだけど、なんか気持ち悪いので。