// 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)"([^"]*)""#).unwrap();
let string = "REQUIREMENT: Match strings between two identical characters
REGEX FIDDLE: https://regex101.com/r/BVjLuU/2
MATCH:
A \"1\" text \"+\" some more text, and \"there can be ==1234== even more \"text
in btw quotes
NO MATCH
text here, 1234.
FURTHER LINKS:
- Negated character class: https://www.regular-expressions.info/charclass.html#negated
- Capturing groups: https://www.regular-expressions.info/brackets.html
- Regex plus vs star difference SO question: https://stackoverflow.com/q/8575281/3832970
- Google for '<language> regex extract part of a match stackoverflow'
";
// 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/