// 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):\s"(?:.*)\s([a-zA-Z]+(?:['-][a-zA-Z]+)*)\s(?=[A-Z]{2,3})(?:.*)""#).unwrap();
let string = "[
{\"name\": \"Hon Tony Abbott MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Anthony Albanese MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr John Alexander OAM, MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Dr Anne Aly MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Karen Andrews MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Kevin Andrews MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Adam Bandt MP\", \"party\": \"Australian Greens\"},
{\"name\": \"Ms Julia Banks MP\", \"party\": \"Independent\"},
{\"name\": \"Hon Sharon Bird MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Chris Bowen MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Russell Broadbent MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Scott Buchholz MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Tony Burke MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Linda Burney MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Mark Butler MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Ms Terri Butler MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Anthony Byrne MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Dr Jim Chalmers MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Nick Champion MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Darren Chester MP\", \"party\": \"The Nationals\"},
{\"name\": \"Ms Lisa Chesters MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr George Christensen MP\", \"party\": \"The Nationals\"},
{\"name\": \"Hon Jason Clare MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Ms Sharon Claydon MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon David Coleman MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Julie Collins MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Pat Conroy MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Mark Coulton MP\", \"party\": \"The Nationals\"},
{\"name\": \"Mr Chris Crewther MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Milton Dick MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Mark Dreyfus QC, MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Damian Drum MP\", \"party\": \"The Nationals\"},
{\"name\": \"Hon Peter Dutton MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Justine Elliot MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Warren Entsch MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Trevor Evans MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Jason Falinski MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Joel Fitzgibbon MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Paul Fletcher MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Ms Nicolle Flint MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Dr Mike Freelander MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Josh Frydenberg MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Andrew Gee MP\", \"party\": \"The Nationals\"},
{\"name\": \"Mr Steve Georganas MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Andrew Giles MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Dr David Gillespie MP\", \"party\": \"The Nationals\"},
{\"name\": \"Mr Ian Goodenough MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Patrick Gorman MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Luke Gosling OAM, MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Ross Hart MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Andrew Hastie MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Alex Hawke MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Chris Hayes MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Sarah Henderson MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Julian Hill MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Kevin Hogan MP\", \"party\": \"The Nationals\"},
{\"name\": \"Mr Luke Howarth MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Greg Hunt MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Ed Husic MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Steve Irons MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Stephen Jones MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Barnaby Joyce MP\", \"party\": \"The Nationals\"},
{\"name\": \"Hon Bob Katter MP\", \"party\": \"Katter's Australian Party\"},
{\"name\": \"Ms Ged Kearney MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Ms Justine Keay MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Michael Keenan MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Craig Kelly MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Dr Mike Kelly AM, MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Matt Keogh MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Peter Khalil MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Catherine King MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Ms Madeleine King MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Ms Susan Lamb MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Andrew Laming MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Michelle Landry MP\", \"party\": \"The Nationals\"},
{\"name\": \"Mr Julian Leeser MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Dr Andrew Leigh MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Sussan Ley MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon David Littleproud MP\", \"party\": \"The Nationals\"},
{\"name\": \"Mrs Nola Marino MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Richard Marles MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Ms Emma McBride MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Michael McCormack MP\", \"party\": \"The Nationals\"},
{\"name\": \"Hon Dr John McVeigh MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Brian Mitchell MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Rob Mitchell MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Scott Morrison MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Ben Morton MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Shayne Neumann MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Llew O'Brien MP\", \"party\": \"The Nationals\"},
{\"name\": \"Mr Ted O'Brien MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Brendan O'Connor MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Ken O'Dowd MP\", \"party\": \"The Nationals\"},
{\"name\": \"Hon Kelly O'Dwyer MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Ms Clare O'Neil MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Ms Cathy O'Toole MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Ms Julie Owens MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Tony Pasin MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Graham Perrett MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Dr Kerryn Phelps AM, MP\", \"party\": \"Independent\"},
{\"name\": \"Hon Keith Pitt MP\", \"party\": \"The Nationals\"},
{\"name\": \"Hon Tanya Plibersek MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Christian Porter MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Melissa Price MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Christopher Pyne MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Rowan Ramsey MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Amanda Rishworth MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Stuart Robert MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Ms Michelle Rowland MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Ms Joanne Ryan MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Ms Rebekha Sharkie MP\", \"party\": \"Centre Alliance\"},
{\"name\": \"Hon Bill Shorten MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Tony Smith MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Warren Snowdon MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Ms Anne Stanley MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Michael Sukkar MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Ms Meryl Swanson MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Angus Taylor MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Dan Tehan MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Ms Susan Templeman MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Matt Thistlethwaite MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Hon Alan Tudge MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Ms Maria Vamvakinou MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Bert van Manen MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Ross Vasta MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Andrew Wallace MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Tim Watts MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mrs Lucy Wicks MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Andrew Wilkie MP\", \"party\": \"Independent\"},
{\"name\": \"Mr Josh Wilson MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Rick Wilson MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Tim Wilson MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Jason Wood MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Hon Ken Wyatt AM, MP\", \"party\": \"Liberal Party of Australia\"},
{\"name\": \"Mr Tony Zappia MP\", \"party\": \"Australian Labor Party\"},
{\"name\": \"Mr Trent Zimmerman MP\", \"party\": \"Liberal Party of Australia\"}
]";
// 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/