// 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)\"logUser\"(?=.*\:)([\s\:]+)([^\,}]+?)(\,|\})"#).unwrap();
let string = "{
\"id\": 1,
\"numeracao\": \"001\",
\"logUser\" : 100,
\"permissionario\": {
\"id\": 3113715,
\"nome\": \"ARTHUR MATHEUS SÉRGIO DA SILVA\",
\"dataDeNascimento\": \"2000-12-10\",
\"endLogradouro\": \"RUA TERESINA\",
\"endNumero\": \"89465468\",
\"endBairro\": \"ROSA DOS VENTOS\",
\"endCidade\": \"PARNAMIRIM\",
\"endUf\": \"RN\",
\"endCep\": \"59142125\",
\"endComplemento\": null,
\"telefoneFixo\": null,
\"telefoneMovel\": \"(94) 949849849\",
\"email\": null,
\"logDate\": \"2019-01-16\",
\"logUser\": null,
\"sexo\": \"MASCULINO\",
\"foto\": null,
\"cpf\": \"10322314593\",
\"estadoCivil\": \"CASADO\",
\"cnhNumero\": null,
\"cnhCategoria\": null,
\"cnhValidade\": null,
\"rgNumero\": \"64684654\",
\"rgOrgaoExpeditor\": \"SSP\",
\"rgDataEmissao\": null,
\"rgUF\": \"RN\",
\"status\": true
},
\"veiculo\": {
\"id\": 3,
\"placa\": \"JUQ9196\",
\"marca\": \"RENAULT\",
\"modelo\": \"SC\",
\"renavam\": \"54840252144\",
\"anoDeFabricacao\": \"2006\",
\"corPredominante\": \"BRANCO\",
\"logCidadao\": null,
\"status\": true,
\"logUser\": null,
\"logDate\": \"2019-01-16T11:05:10.425\",
\"version\": 1
},
\"logDate\": \"2019-01-16T11:05:13.264\",
\"status\": true,
\"version\": 0,
\"motorista\": {
\"id\": 3113717,
\"nome\": \"DAVI LEVI GALVÃO\",
\"dataDeNascimento\": \"1996-10-20\",
\"endLogradouro\": \"RUA FRANCISCO FERREIRA DA SILVA\",
\"endNumero\": \"911\",
\"endBairro\": \"VALE DO SOL\",
\"endCidade\": \"PARNAMIRIM\",
\"endUf\": \"RN\",
\"endCep\": \"59143025\",
\"endComplemento\": null,
\"telefoneFixo\": \"8429884472\",
\"telefoneMovel\": \"84995302167\",
\"email\": \"ddavilevigalvao@mtic.net.br\",
\"logDate\": \"2019-01-16\",
\"logUser\": null,
\"sexo\": \"MASCULINO\",
\"foto\": null,
\"cpf\": \"98842966428\",
\"estadoCivil\": \"CASADO\",
\"cnhNumero\": null,
\"cnhCategoria\": null,
\"cnhValidade\": null,
\"rgNumero\": \"184962122\",
\"rgOrgaoExpeditor\": \"SSP\",
\"rgDataEmissao\": null,
\"rgUF\": \"RN\",
\"status\": true
}
}
";
// result will be a tuple containing the start and end indices for the first match in the string
let result = regex.captures(string);
let (start, end) = match result {
Some((s, e)) => (s, e),
None => {
// ...
}
};
println!("{}", &string[start, end]);
}
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/