Используйте Нокогири , что быстро и написано на C, для Ruby.
(Использование regexp для разбора рекурсивных выражений, таких как HTML, является общеизвестно сложным и подверженным ошибкам , и я бы не стал идти по этому пути. Я упоминаю об этом только в ответе, поскольку эта проблема возникает снова и снова .)
С настоящим анализатором, таким как, например, упомянутый выше Nokogiri, вы также получаете дополнительное преимущество, заключающееся в том, что структура и логика HTML-документа сохраняются, и иногда вам действительно нужны эти подсказки.