// 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#"import(?:[\s*]([\w*{}\n\r\t, ]+)[\s*]from)?[\s*](?:["'](.*[\w]+)["'])?"#).unwrap();
let string = "import {
Component
} from '@angular2/core';
import defaultMember from \"$module-name\";
import * as name from \"module-name \";
import { member } from \" module-name\";
import { member as alias } from \"module-name\";
import { member1 , member2 } from \"module-name\";
import { member1 , member2 as alias2 , member3 as alias3 } from \"module-name\";
import defaultMember, { member, member } from \"module-name\";
import defaultMember, * as name from \"module-name\";
import \"module-name\";
import {
PlaneBufferGeometry,
OctahedronGeometry,
TorusBufferGeometry
} from '../geometries/Geometries.js'
<MenuItem value=\"^$\" primaryText=\"Não exibir importados\" />
<MenuItem value=\"\\\\w+\" primaryText=\"Exibir importados\" />
";
// 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/