re = /<NUM_INS>(?'ins_numins'.*)<\x2FNUM_INS>.*<NUM_EQUIPEMENT>(?'num_equipement'.*)<\x2FNUM_EQUIPEMENT>.*<APT_CIVILITE>(?'apt_civilite'.*)<\x2FAPT_CIVILITE>.*<APT_NOM>(?'apt_nom'.*)<\x2FAPT_NOM>.*<APT_TELEPHONE>(?'apt_telephone'.*)<\x2FAPT_TELEPHONE>.*<APT_E_MAIL>(?'apt_e_mail'.*)<\x2FAPT_E_MAIL>.*<APT_LOCALISATION>(?'apt_localisation'.*)<\x2FAPT_LOCALISATION>.*<TSY_CD>(?'tsy_lib'.*)<\x2FTSY_CD>.*<QSY_CD>(?'qsy_lib'.*)<\x2FQSY_CD>.*<COMMENTAIRE_EXTERNE>(?'commentaire_externe'.*)<\x2FCOMMENTAIRE_EXTERNE>/m
str = '<NUM_EXTERNE></NUM_EXTERNE> <NUM_INS>5092427002</NUM_INS> <NUM_EQUIPEMENT></NUM_EQUIPEMENT> <APT_CIVILITE>1</APT_CIVILITE> <APT_NOM>PC INCENDIE SEQUANA HQPAR -</APT_NOM> <APT_TELEPHONE>+33145381818</APT_TELEPHONE> <APT_E_MAIL>PCINCENDIE.SEQUANA@accor.com</APT_E_MAIL> <APT_LOCALISATION>SS1 local TGS2</APT_LOCALISATION> <APT_CR_MAIL>O</APT_CR_MAIL> <TSY_CD>3764</TSY_CD> <QSY_CD>5</QSY_CD> <COMMENTAIRE_EXTERNE>Alarme CPI : TGS2 Code alarme Q4.</COMMENTAIRE_EXTERNE> '
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html