// 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)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 {
Component
} from '@angular2/core';
import defaultMember from \"$module-name\";
import defaultMember, { member, member } from \"module-name\";
import defaultMember, * as name 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 {
Component
} from '@angular2/core'
import defaultMember from \"$module-name\"
import defaultMember, { member, member } from \"module-name\"
import defaultMember, * as name from \"module-name\"
import \"module-name\";
import React from \"react\"
import { Field } from \"redux-form\"
import \"module-name\";
import {
PlaneBufferGeometry,
OctahedronGeometry,
TorusBufferGeometry
} from '../geometries/Geometries.js';
import {
PlaneBufferGeometry,
OctahedronGeometry,
TorusBufferGeometry
} from '../geometries/Geometries.js'
import(\"whatever.js\");
import(\"whatever.js\")
import { Field } from \"redux-form\";
import MultiContentListView from \"./views/ListView\";
import MultiContentAddView from \"./views/AddView\";
import MultiContentEditView from \"./views/EditView\";
import { Field } from \"redux-form\"
import MultiContentListView from \"./views/ListView\"
import MultiContentAddView from \"./views/AddView\"
import MultiContentEditView from \"./views/EditView\"
<MenuItem value=\"^$\" primaryText=\"Não exibir importados\" />
<MenuItem value=\"\\\\w+\" primaryText=\"Exibir importados\" />
// *Add all needed dependency to this module
// *app requires those import modules to function
*/
/**
*
*Add all needed dependency to this module
*app requires those import modules to function
*
**/
let modules = [];";
// 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/