// 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)(^\"|\{)"#).unwrap();
let string = "\"@odata.context\": \"https://example-app-env.aa01.aaa.aaaa-ad/odata/$metadata#Jobs\",
\"@odata.count\": 111,
\"value\": [
{
\"Key\": \"aaa1a111-aa11-11aa-a11a-11a1aa11a111\",
\"StartTime\": \"2023-01-20T14:08:34.607Z\",
\"EndTime\": \"2023-01-20T14:08:49.517Z\",
\"State\": \"Successful\",
\"JobPriority\": \"Normal\",
\"Source\": \"Agent\",
\"SourceType\": \"Agent\",
\"BatchExecutionKey\": \"aaa1a111-aa11-11aa-a11a-11a1aa11a111\",
\"Info\": \"Job completed\",
\"CreationTime\": \"2023-01-20T14:08:34.607Z\",
\"StartingScheduleId\": null,
\"ReleaseName\": \"RobotProdLogin_DEV\",
\"Type\": \"Attended\",
\"InputArguments\": \"\",
\"OutputArguments\": \"{}\",
\"HostMachineName\": \"AAAAAAAA11111\",
\"HasMediaRecorded\": false,
\"PersistenceId\": null,
\"ResumeVersion\": null,
\"StopStrategy\": null,
\"RuntimeType\": \"Development\",
\"RequiresUserInteraction\": true,
\"ReleaseVersionId\": 1111,
\"EntryPointPath\": null,
\"OrganizationUnitId\": 1,
\"OrganizationUnitFullyQualifiedName\": \"Default\",
\"Reference\": \"\",
\"ProcessType\": \"Process\",
\"ProfilingOptions\": null,
\"ResumeOnSameContext\": false,
\"LocalSystemAccount\": \"AAAAAA01\\\\AAA11AA\",
\"OrchestratorUserIdentity\": null,
\"Id\": 00000
},
{
\"Key\": \"aaa1a111-aa11-11aa-a11a-11a1aa11a111\",
\"StartTime\": \"2023-01-20T14:08:34.607Z\",
\"EndTime\": \"2023-01-20T14:08:49.517Z\",
\"State\": \"Successful\",
\"JobPriority\": \"Normal\",
\"Source\": \"Agent\",
\"SourceType\": \"Agent\",
\"BatchExecutionKey\": \"aaa1a111-aa11-11aa-a11a-11a1aa11a111\",
\"Info\": \"Job completed\",
\"CreationTime\": \"2023-01-20T14:08:34.607Z\",
\"StartingScheduleId\": null,
\"ReleaseName\": \"RobotProdLogin_DEV\",
\"Type\": \"Attended\",
\"InputArguments\": \"\",
\"OutputArguments\": \"{}\",
\"HostMachineName\": \"AAAAAAAA11111\",
\"HasMediaRecorded\": false,
\"PersistenceId\": null,
\"ResumeVersion\": null,
\"StopStrategy\": null,
\"RuntimeType\": \"Development\",
\"RequiresUserInteraction\": true,
\"ReleaseVersionId\": 1111,
\"EntryPointPath\": null,
\"OrganizationUnitId\": 1,
\"OrganizationUnitFullyQualifiedName\": \"Default\",
\"Reference\": \"\",
\"ProcessType\": \"Process\",
\"ProfilingOptions\": null,
\"ResumeOnSameContext\": false,
\"LocalSystemAccount\": \"AAAAAA01\\\\AAA11AA\",
\"OrchestratorUserIdentity\": null,
\"Id\": 00000
},";
// 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/