// 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)Option 2[\s\S]*?(€\d+)[\s\S]*?Option 3[\s\S]*?(€\d+)").unwrap();
let string = "<b>Text : </b>
<p>
Option 2 - Withdraw a specified amount by fully cashing in policies
I wish to withdraw €6644 (insert amount and currency)
(Please note that we will cash in the appropriate number of policies to reach the closest possible figure below the amount you require.
The balance will then be taken across all the remaining policies.
Please specify your fund choices for this balance overleaf.)
Please note: If you've invested in a PruFund Protected Fund, cashing in policies will erode the Guaranteed Minimum Fund.
Notes
1 For information on withdrawal limits, please see your Key Features Document.
2
At least £500, ¤750 or US$750 must remain invested in each fund you hold.
3 If you have invested in one of the PruFund Range of Funds, withdrawals may be subject to a 28-day delay.
If you also hold other funds, this could mean your withdrawal is made in two payments.
Option 3 - Withdraw a specified amount from across all policies
I wish to withdraw
€8532
(insert amount and currency) from across all the policies in my bond.
Please specify your fund choices below.
</P>";
// 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/