// 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"(?mi)\/\*\*\s*@ngInject\s*\*\/\n*\s*function\s+(\w+)\((.*)\) \{").unwrap();
let string = "define([], function () {
'use strict';
/** @ngInject */
function ideasHomeController($scope, ideasDataSvc) {
$scope.ideaName = \"Todo List\";
$scope.gridOptions = {
data: 'ideas',
columnDefs: [
{field: 'name', displayName: 'Name'},
{field: 'technologies', displayName: 'Technologies'},
{field: 'platform', displayName: 'Platforms'},
{field: 'status', displayName: 'Status'},
{field: 'devsNeeded', displayName: 'Vacancies'},
{
field: 'id',
displayName: 'View Details',
cellTemplate: '<a ng-href=\"#/details/{{row.getProperty(col.field)}}\">View Details</a>'
}
],
enableColumnResize: true
};
ideasDataSvc.allIdeas().then(function (result) {
$scope.ideas = result;
console.log($scope.ideas);
});
}
ideasHomeController.$inject = ['$scope', 'ideasDataSvc'];
return ideasHomeController;
});";
// 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/