// 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"(?ims)<w:p.*?>.*?<w:t>\$<\/w:t>.*?test.*?<\/w:p>").unwrap();
let string = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>
<w:document xmlns:ve=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns:w10=\"urn:schemas-microsoft-com:office:word\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\"><w:body><w:p w:rsidR=\"00EA0853\" w:rsidRDefault=\"00E24666\" w:rsidP=\"00582CB9\"><w:pPr><w:tabs><w:tab w:val=\"left\" w:pos=\"10065\"/></w:tabs><w:spacing w:before=\"120\" w:after=\"120\" w:line=\"240\" w:lineRule=\"auto\"/><w:jc w:val=\"center\"/><w:rPr><w:rFonts w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\" w:cs=\"Times New Roman\"/><w:lang w:val=\"en-US\"/></w:rPr></w:pPr><w:r><w:rPr><w:rFonts w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\" w:cs=\"Times New Roman\"/><w:lang w:val=\"en-US\"/></w:rPr><w:t>APP</w:t></w:r></w:p><w:p w:rsidR=\"0035180D\" w:rsidRDefault=\"00C7412B\" w:rsidP=\"00945FB5\"><w:pPr><w:tabs><w:tab w:val=\"left\" w:pos=\"10065\"/></w:tabs><w:spacing w:before=\"120\" w:after=\"120\" w:line=\"240\" w:lineRule=\"auto\"/><w:rPr><w:rFonts w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\" w:cs=\"Times New Roman\"/><w:lang w:val=\"en-US\"/></w:rPr></w:pPr><w:r w:rsidRPr=\"002E673F\"><w:rPr><w:rFonts w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\" w:cs=\"Times New Roman\"/><w:lang w:val=\"en-US\"/></w:rPr><w:t>$</w:t></w:r><w:r w:rsidR=\"0035180D\" w:rsidRPr=\"002E673F\"><w:rPr><w:rFonts w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\" w:cs=\"Times New Roman\"/><w:lang w:val=\"en-US\"/></w:rPr><w:t>{</w:t></w:r><w:r w:rsidR=\"005803EA\" w:rsidRPr=\"002E673F\"><w:rPr><w:rFonts w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\" w:cs=\"Times New Roman\"/><w:lang w:val=\"en-US\"/></w:rPr><w:t>test</w:t></w:r><w:r w:rsidR=\"0035180D\" w:rsidRPr=\"002E673F\"><w:rPr><w:rFonts w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\" w:cs=\"Times New Roman\"/><w:lang w:val=\"en-US\"/></w:rPr><w:t>}</w:t></w:r></w:p><w:p w:rsidR=\"00524DA0\" w:rsidRPr=\"002E673F\" w:rsidRDefault=\"00524DA0\" w:rsidP=\"00945FB5\"><w:pPr><w:tabs><w:tab w:val=\"left\" w:pos=\"10065\"/></w:tabs><w:spacing w:before=\"120\" w:after=\"120\" w:line=\"240\" w:lineRule=\"auto\"/><w:rPr><w:rFonts w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\" w:cs=\"Times New Roman\"/><w:lang w:val=\"en-US\"/></w:rPr></w:pPr></w:p><w:p w:rsidR=\"00375D75\" w:rsidRPr=\"00496574\" w:rsidRDefault=\"00375D75\" w:rsidP=\"00496574\"><w:pPr><w:spacing w:after=\"0\" w:line=\"120\" w:lineRule=\"auto\"/><w:rPr><w:rFonts w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\" w:cs=\"Times New Roman\"/><w:b/><w:sz w:val=\"2\"/><w:lang w:val=\"en-US\"/></w:rPr></w:pPr></w:p><w:sectPr w:rsidR=\"00375D75\" w:rsidRPr=\"00496574\" w:rsidSect=\"00550158\"><w:pgSz w:w=\"11906\" w:h=\"16838\" w:code=\"9\"/><w:pgMar w:top=\"1134\" w:right=\"707\" w:bottom=\"568\" w:left=\"1134\" w:header=\"708\" w:footer=\"708\" w:gutter=\"0\"/><w:cols w:space=\"708\"/><w:docGrid w:linePitch=\"360\"/></w:sectPr></w:body></w:document>";
// 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/