// include the latest version of the regex crate in your Cargo.toml
extern crate regex;
use regex::Regex;
fn main() {
let regex = Regex::new(r"<div[^<>]*>([\s\S]*?)<\/div>").unwrap();
let string = "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"
\"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<title>A Dança dos Dragões - As Crônicas de Gelo e Fogo</title>
<link href=\"../Styles/9788580445763_a_danca_dos_dragoes.css\" rel=\"stylesheet\" type=\"text/css\" />
</head>
<body id=\"x9788580445763_a_danca_dos_dragoes\" xml:lang=\"pt-PT\">
<div class=\"Basic-Text-Frame\">
<p class=\"TOC\"><span class=\"Bold\"> </span></p>
<p class=\"after-10\"><span class=\"Bold\"> </span></p>
<p class=\"titulo-ficha-tecnica-before10\" id=\"toc_marker-2\"><span class=\"Bold\">Ficha Técnica</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Copyright © George R. R. Martin</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Todos os direitos reservados.</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Versão brasileira © 2012 Texto Editores Ltda.</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Título original: A Dance with Dragons<br />
<br /></span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Diretor editorial: Pascoal Soto</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Produtora editorial: Sonnini Ruiz</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Assistente editorial: Carolina Pereira da Rocha<br />
<br /></span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Coordenação editorial: Estúdio Sabiá</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Preparação de texto: Rosane Albert</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Revisão: Leandro Morita, Valéria Sanalios, Bruno SR</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Ilustração da capa: Marc Simonetti</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Capa: Scintilla Lima</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\"><br />
<br />
Dados Internacionais de Catalogação na Publicação (cip)</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">(Câmara Brasileira do Livro, SP, Brasil)<br />
<br />
<br />
Martin, George R. R.</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">A dança dos dragões / George R. R. Martin ;</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">tradução Marcia Blasques. − São Paulo : Leya,</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">2012. – (Coleção as crônicas de gelo e fogo ; 5)<br />
<br />
Título original: A dance with dragons.</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">ISBN 9788580445763<br />
<br /></span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">1. Ficção fantástica norte-americana. I. Título. II. Série.</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">12-08553 CDD-813.5</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\"><br />
<br />
Índices para catálago sistemático:</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">1. Ficção : Literatura norte-americana 813.5<br />
<br />
<br />
Texto Editores Ltda.</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">[Uma editora do grupo LeYa]</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">Rua Desembagador Paulo Passaláqua, 86</span></p>
<p class=\"texto-ficha-tecnica\"><span class=\"Regular\">01248-010 – Pacaembu – São Paulo – SP</span></p>
<p class=\"texto-ficha-tecnica\"><a href=\"http://www.leya.com\"><span class=\"Regular\">www.leya.com</span></a></p>
</div>
</body>
</html>
";
// result will be a tuple containing the start and end indices for the first match in the string
let result = regex.captures(string);
let (start, end) = match result {
Some((s, e)) => (s, e),
None => {
// ...
}
};
println!("{}", &string[start, 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 Rust, please visit: https://docs.rs/regex/latest/regex/