Gene Rassembler l'analyse syntaxique (X) HTML à l'aide d'expressions régulières est une mauvaise pratique. Ruby a la fantastique bibliothèque Nokogiri qui utilise libxml2 pour analyser efficacement le XHTML.
Cela étant dit, votre .
ne correspond pas aux nouvelles lignes. Utilisez le modificateur m
pour votre expression rationnelle qui indique au .
de faire correspondre les nouvelles lignes. Ou la constante Regexp :: MULTILINE. Documenté here
Votre expression régulière capture également le code HTML avant le texte dont vous avez besoin. Utiliser nokogiri et XPath signifierait que vous pourriez récupérer le contenu de cette cellule de table en vous référant à sa classe CSS. Comme ceci:
#!/usr/bin/env ruby
require 'nokogiri'
doc = Nokogiri::HTML DATA.read
p doc.at("td[@class='generalinfo_right']").text
__END__
<td class="generalinfo_left" align="right">Name:</td>
<td class="generalinfo_right">Burkhart, Peterson & Company</td>
qui retournera "Burkhart, Peterson & Company"
question connexe: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags –