// 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"(?m)((?:(?:H[eogf]?|L[iau]|B[eari]?|C[arouseld]?|N[eiapdb]?|O[sg]?|F[rle]?|M[gon]|A[lrsgutc]|S[icernmb]?|P[uabotmrd]?|Kr?|T[icebmalh]|V|Z[nr]|G[ade]|R[buhena]|Yb?|I[nr]?|Xe|E[ur]|Dy|W|U)+(?:(?:<su[bp]>(?:[2-9][0-9]*)<\/su[bp]>)|[2-9][0-9]*)*){2,})").unwrap();
let string = "\\nNH<sub>2</sub>CONH<sub>21</sub>, F.W.
\\nsNH<sub>2</sub>CONH, F.W. 60.06<br />\\nCAS No. 57-13-6</p>\\n<p>Shipping: Not regulated for
/>\\nFeO<sub>2</sub>dsa
fooasdfNH<sub>2</sub>CONH<sub>2</sub>NH<sub>2</sub>CONH<sub>2</sub>NH<sub>2</sub>CONH<sub>2</sub>NH<sub>2</sub>CONH<sub>2</sub>He
NH2CONH";
// result will be an iterator over tuples containing the start and end indices for each match in the string
let result = regex.captures_iter(string);
for mat in result {
println!("{:?}", mat);
}
}
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/