// 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"(?i)(?:^|\n)\s*Name\s*(?<name>[\w\W]+?)\s+Address\n(?<address>[\w\W]+?)\s+Date of Birth\s+(?<dob>[\w\W]+?)\s+Nationality\s*(?<nationality>[\w\W]+?)(?=\s)").unwrap();
let string = "Name
Christopher Robert York
Address
Lyric House 6b St Andrew Street
Hertford
Hertfordshire
SG14 1JA
Date of Birth
24/12/1961
Nationality
British
Directorships for Mr Christopher Robert York
Company Number Name Status Position Appointed Date Credit Limit Risk Score
12432488 �� CASTLE LEGAL SERVICES LTD Non trading Director 29/01/2020 £0 0
03075887 �� CREDITSERVE LTD. Company is dissolved Company Secretary 31/07/2006 £0 0
03075887 �� CREDITSERVE LTD. Company is dissolved Director 04/07/1995 £0 0
06534336 �� CREDITSERVE BUSINESS INFORMATION LIMITED Active - Accounts Filed Company Secretary 29/09/2008 £7,500 55
06534336 �� CREDITSERVE BUSINESS INFORMATION LIMITED Active - Accounts Filed Director 13/03/2008 £7,500 55
Ms Laura York
Name
Laura York
Address
Lyric House 6b St Andrew Street
Hertford
Hertfordshire
SG14 1JA
Date of Birth
01/06/1964
Nationality
British
Directorships for Ms Laura York
Company Number Name Status Position Appointed Date Credit Limit Risk Score
06534336 �� CREDITSERVE BUSINESS INFORMATION LIMITED Active - Accounts Filed Director 01/04/2011 £7,500 55
Company Secretary";
// 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/