// 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#"(?P<first_part>(?:ifstream|ofstream)\s+[0-9a-zA-z_]+\s*\()(?:\"(?P<file_name>[0-9a-zA-z_.]+)\")"#).unwrap();
let string = "ifstream f1(\"text1.txt\");
ifstream f2 (\"text2.txt\");
ifstream f_ASFdf1(\"text1\");
ofstream out (\"output.txt\");//создали объект и сразу же открыли файл для записи
ofstream of;//создали объект класса
of.open(\"test.txt\");//открыли файл для записи
ofstream of(\"test.txt\", ios_base::app); //добавление информации к концу файла
ofstream of(\"test.txt\", ios_base::trunc); //очистить содержимое файла
ofstream of(\"test.txt\", ios_base::binary); //открыть в бинарном режиме";
// 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/