// 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)\"tag\":\"[^\-]+\-[^\_]+\_([^\-]+)"#).unwrap();
let string = "\"line\":\"level=info t=\\\"2019-01-29T18:19:42.999Z\\\" rt=2 method=GET path=\\\"/contentskus/5b7ee52a4f6b9c001b049ac3?dma=999\\u0026itemsPerPage=25\\u0026page=1\\\" sc=200 dma=999 apikey=DEFAULT amzn_trace_id=unknown enabledFeatures=recommendations,upcomingSearch,popularityQueriesPlatformSpecific,availabilityTimes,avoidDefaultQuery,useFavoritesExternalSchemaForD2C,useFavoritesV2ForFavoritesFilter,endCardRecommendations,cmsAuthFallback os=2 rid=\\\"6962240ed296c770\\\" mode=published\",\"source\":\"stdout\",\"tag\":\"ecs-uat_admin_v1sandbox_blue-35-uat-service-admin-d8d0a7a0c2dfe8ea6c00/503343765eaa\",\"attrs\":{\"SERVICE_NAME\":\"admin\",\"SERVICE_TAGS\":\"contentgroups,contentsettings,contentskus,metatags,settings,userroles,users,s3signurl\",\"SERVICE_VERSION\":\"v1sandbox\",\"com.amazonaws.ecs.task-arn\":\"arn:aws:ecs:us-west-2:776609208984:task/305f6e5a-d20d-4aa2-877d-1bba2d442a7b\"}}";
// 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/