Ruby Regex帮助

时间:2010-03-14 01:36:51

标签: ruby regex

我知道一点正则表达式,但不是mutch。获取以下html中的数字的最佳方法是什么? (我想要32回复)。在这个可怕的html页面中,宽度,行跨度和大小的值都是不同的。有什么帮助吗?

<td width=14 rowspan=2 align=right><font size=2 face="helvetica">32</font></td>

3 个答案:

答案 0 :(得分:2)

怎么样

>(\d+)<

或者,如果您非常想避免使用捕获组:

(?<=>)\d+(?=<)

答案 1 :(得分:2)

拜托,帮自己一个忙:

#!/usr/bin/env ruby
require 'nokogiri'

require 'test/unit'
class TestExtraction < Test::Unit::TestCase
  def test_that_it_extracts_the_number_correctly
    doc = Nokogiri::HTML('<td width=14 rowspan=2 align=right><font size=2 face="helvetica">32</font></td>')
    assert_equal [32], (doc / '//td/font').map {|el| el.text.to_i }
  end
end

答案 2 :(得分:0)

可能是

<td[^>]*><font[^>]*>\d+</font></td>