// 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)(?<=\"id\"\:)\d+(?=\,)"#).unwrap();
let string = "{
\"id\": 5987431,
\"remoteRef\": \"f150edeab22e5458a8d5db64280023f0\",
\"paymentEntityType\": \"Bank\",
\"accountHolder\": \"Svilen Varbanov\",
\"accountNumber\": \"********6691\",
\"expiresEnd\": null,
\"paymentEntityStatus\": \"Unverified\",
\"token\": null,
\"canDeposit\": false,
\"canWithdraw\": false,
\"lastUsed\": false,
\"cardType\": null,
\"logs\": [
{
\"paymentEntityStatus\": \"Unverified\",
\"message\": \"Bank payment entity has been created.\",
\"updated\": \"2019-10-01 11:49:22Z\"
}
],
\"transactionSummaries\": null,
\"paymentGateway\": \"RBC\",
\"details\": {
\"bankName\": null,
\"sortCode\": null,
\"swiftCode\": null,
\"branchCode\": null,
\"branchAddress\": null,
\"transitNumber\": \"340\",
\"institutionNumber\": \"34103\",
\"accountId\": \"575876691\"
},
\"createdAt\": \"2019-10-01T11:49:22.4680708Z\"
}";
// 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/