Справка по Ruby Regex - PullRequest
       11

Справка по Ruby Regex

1 голос
/ 14 марта 2010

Я знаю немного регулярных выражений, но не много. Каков наилучший способ получить только номер из следующего HTML. (Я хочу, чтобы 32 вернулся). значения ширины, диапазона строк и размера различаются на этой ужасной HTML-странице. Любая помощь?

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

Ответы [ 3 ]

2 голосов
/ 14 марта 2010

Пожалуйста, сделайте себе одолжение:

#!/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 голосов
/ 14 марта 2010

Как насчет

>(\d+)<

Или, если вы отчаянно хотите вообще избежать использования групп захвата:

(?<=>)\d+(?=<)
0 голосов
/ 14 марта 2010

Может быть

<td[^>]*><font[^>]*>\d+</font></td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...