// 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"(?mu)^(\d+)\s(\w+)\s([a-zA-Zâéàè()\- ]+)\s(\d{4})\s@\s([\d,.]+)\s?([a-zA-Zâéàè ()]*)$").unwrap();
let string = "1 owc12 La Fleur (St-Emilion) 2000 @ 23
1 owc6 Cheval Blanc 1970 @ 295 (Rhabillage Château)
1 owc12 Cheval Blanc 1970 @ 285
1 owc12 Cheval Blanc 1975 @ 350 (Rhabillage Château)
1 owc6 magnum Cheval Blanc 1973 @ 520
1 owc6 magnum Cheval Blanc 1978 @ 560
1 owc12 Léoville Las Cases 1992 @ 92
1 owc12 Léoville Barton 1984 @ 53
1 owc12 Beychevelle 1992 @ 62
1 owc12 Giscours 1994 @ 46
1 owc12 La Conseillante 1988 @ 107
1 owc6 Cheval Blanc 1970 @ 295 (Rhabillage Château)
1 owc12 Cheval Blanc 1970 @ 285
1 owc12 Cheval Blanc 1975 @ 350 (Rhabillage Château)
1 owc6 magnum Cheval Blanc 1973 @ 520
1 owc6 magnum Cheval Blanc 1978 @ 560
";
// 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/