// 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)([\S]*)[\s]+([\S]*[\s]+[\S]*)[\s]+([0-9]{1,2})\%").unwrap();
let string = "RY4 Asian Flavor 10-15%
RY4 Double Flavor 5%-15%
Smooth Flavor 2 drops per 5 ml
Spearmint Flavor <5% Very Strong
Strawberries and Cream Flavor 10-12%
Strawberry Flavor 3%-15%
Strawberry Kiwi 20% 1/5
Strawberry Ripe 15%
Sweet Cream Flavor 5-10% 4/5 recommended for combining fake butter taste
Sweet Tart: 10% 5/5 Tastes more like Smarties
Sweetener 2%-6%
Tangerine Flavor (oil based) 1-5% 5/5
Tiramisu Flavor 2-5% VERY strong
Toasted Almond Flavor 15%";
// 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/