Способ получения всех совпадений шаблона на ruby

Рейтинг: 0Ответов: 1Опубликовано: 04.03.2015

Добрый день.

Такой вопрос. В руби метод match возращает первое вхождение в шаблон и не проверяет, есть ли еще совпадения? Каким образом можно добиться, чтобы вернуть все, что попалось под критерии шаблона? Возможно ли это сделать с match или нужен какой-то другой метод?

Вот для примера код:

require 'open-uri'

require 'nokogiri'

def connect(source)  
  page = Nokogiri::HTML(open(source))
end

emails =[]

email_reg = /^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}/

source = 'http://www.zooton.net/ind7.html'

begin

str =  email_reg.match(connect(source))

rescue OpenURI::HTTPError

puts "Не правильный имейл"

end

emails.push str.to_s

p emails

Ответы

▲ 2Принят

Я открыл Яндекс, набрал "ruby match"...

Первая ссылка привела меня сюда: link text

Там написано: Используйте string.scan(/regex/) link text