// 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)(^(THE\s)?((7)|ESTATE OF\s))?(.*?)(-?\s?DECEASED)?((P\.?R\.? OF THE)?(?(3)|\sESTATE OF))$").unwrap();
let string = "SMITH JOHN ESTATE OF
SMITH JOHN J ESTATE OF
SMITH JOHN JAMES ESTATE OF
SMITH, JOHN ESTATE OF
SMITH, JOHN J ESTATE OF
SMITH, JOHN JAMES ESTATE OF
ESTATE OF JOHN SMITH - DECEASED
ESTATE OF JOHN J SMITH - DECEASED
ESTATE OF JOHN JAMES SMITH - DECEASED
SMITH, JOHN DECEASED ESTATE OF
SMITH, JOHN J DECEASED ESTATE OF
SMITH, JOHN JAMES DECEASED ESTATE OF
THE ESTATE OF JOHN SMITH
THE ESTATE OF JOHN J. SMITH
THE ESTATE OF JOHN JAMES SMITH
THE ESTATE OF JOHN J. SMITH, JR.
THE ESTATE OF JOHN SMITH DECEASED
THE ESTATE OF JOHN J. SMITH DECEASED
THE ESTATE OF JOHN JAMES SMITH DECEASED
THE ESTATE OF JOHN J. SMITH, JR. DECEASED
SMITH, JOHN, P.R. OF THE ESTATE OF
SMITH, JOHN, J, P.R. OF THE ESTATE OF
SMTIH, JOHN, JAMES, P.R. OF THE ESTATE OF
SMITH, JOHN JAMES EST
EST OF JOHN SMITH
SMITH REAL ESTATE LLC
PRALINES";
// 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/