Rails / Ruby не следует за Rublar по регулярному выражению - PullRequest
0 голосов
/ 26 января 2012

У меня есть следующее выражение, которое я протестировал в Rubular и которое успешно сопоставляется с фрагментом HTML:

Official Website<\/h3>\s*<p><a href="([^"]*)"

Однако, когда я запускаю выражение в Ruby, используя следующий код, оно не возвращает совпадений. Я сократил его до "Официального сайта \ s *", и он соответствует этому, но больше ничего.

Есть ли дополнительные параметры, которые мне нужно установить, или что-то еще, что мне нужно сделать, чтобы настроить Ruby / Rails для начала отслеживания Rubular?

  matches = sidebar.match(/Official\s*Website<\/h3>\s*<p><a href="([^"]*)"/)
  if matches.nil?
    puts "no matches"
  else
    puts "matches"
  end

Это соответствующая часть фрагмента, с которой я сопоставляю:

 <h3>Official Website</h3><p><a href="http://website.com" target="_blank">website.com</a></p>

1 Ответ

0 голосов
/ 27 января 2012

Ваше регулярное выражение верно. Rubular должен работать так же, как ваш код.

Я протестировал его на рубинах 1.8.7 и 1.9.3

irb(main):006:0>  sidebar = ' <h3>Official Website</h3><p><a href="http://website.com" target="_blank">website.com</a></p>'
=> " <h3>Official Website</h3><p><a href=\"http://website.com\" target=\"_blank\">website.com</a></p>"
irb(main):007:0> sidebar.match(/Official\s*Website<\/h3>\s*<p><a href="([^"]*)"/)
=> #<MatchData "Official Website</h3><p><a href=\"http://website.com\"" 1:"http://website.com">

-

1.9.3p0 :005 > sidebar = ' <h3>Official Website</h3><p><a href="http://website.com" target="_blank">website.com</a></p>'
 => " <h3>Official Website</h3><p><a href=\"http://website.com\" target=\"_blank\">website.com</a></p>" 
1.9.3p0 :006 > sidebar.match(/Official\s*Website<\/h3>\s*<p><a href="([^"]*)"/)
 => #<MatchData "Official Website</h3><p><a href=\"http://website.com\"" 1:"http://website.com"> 

Если вы хотите быстро проверить, почему что-то не работает, попробуйте это в IRB или в консоли rails. в большинстве случаев это опечатка или неправильное кодирование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...