// 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)(?<=\"text\": \")(.*?hello.*?)(?=", \"type\": \"text\")"#).unwrap();
let string = "{\"root\": {\"type\": \"root\", \"format\": \"\", \"indent\": 0, \"version\": 1, \"children\": [{\"type\": \"paragraph\", \"format\": \"\", \"indent\": 0, \"version\": 1, \"children\": [{\"mode\": \"normal\", \"text\": \"text1 hello text\", \"type\": \"text\", \"style\": \"\", \"detail\": 0, \"format\": 0, \"version\": 1}], \"direction\": \"ltr\"}], \"direction\": \"ltr\"}} hellocat world f
{\"root\": {\"type\": \"root\", \"format\": \"\", \"indent\": 0, \"version\": 1, \"children\": [{\"type\": \"paragraph\", \"format\": \"\", \"indent\": 0, \"version\": 1, \"children\": [{\"src\": \"https://images.unsplash.com/photo-1458966480358-a0ac42de0a7a?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=M3w1MjU5NTl8MHwxfHNlYXJjaHwzfHx0cmVlfGVufDB8fHx8MTcxMzk5MjE4OHww&ixlib=rb-4.0.3&q=80&w=1080\", \"type\": \"image\", \"width\": 332, \"height\": \"221.329875\", \"version\": 1, \"alt_text\": \"image\", \"max_width\": 500}, {\"mode\": \"normal\", \"text\": \"dsadsa\", \"type\": \"text\", \"style\": \"\", \"detail\": 0, \"format\": 0, \"version\": 1}], \"direction\": \"ltr\"}, {\"type\": \"paragraph\", \"format\": \"\", \"indent\": 0, \"version\": 1, \"children\": [{\"mode\": \"normal\", \"text\": \"fdsfds\", \"type\": \"text\", \"style\": \"\", \"detail\": 0, \"format\": 0, \"version\": 1}], \"direction\": \"ltr\"}], \"direction\": \"ltr\"}}
{\"root\": {\"type\": \"root\", \"format\": \"\", \"indent\": 0, \"version\": 1, \"children\": [{\"type\": \"paragraph\", \"format\": \"\", \"indent\": 0, \"version\": 1, \"children\": [{\"mode\": \"normal\", \"text\": \"nccccchello ddddd\", \"type\": \"text\", \"style\": \"\", \"detail\": 0, \"format\": 0, \"version\": 1}], \"direction\": \"ltr\"}], \"direction\": \"ltr\"}}
{\"root\": {\"type\": \"root\", \"format\": \"\", \"indent\": 0, \"version\": 1, \"children\": [{\"tag\": null, \"type\": \"paragraph\", \"start\": null, \"format\": \"\", \"indent\": 0, \"version\": 1, \"children\": [{\"rel\": null, \"src\": null, \"url\": null, \"mode\": \"normal\", \"text\": \"bvcbvc\", \"type\": \"text\", \"style\": \"\", \"title\": null, \"value\": null, \"width\": null, \"detail\": 0, \"format\": 0, \"height\": null, \"indent\": null, \"inline\": null, \"target\": null, \"checked\": null, \"version\": 1, \"alt_text\": null, \"children\": null, \"equation\": null, \"field_id\": null, \"direction\": null, \"max_width\": null, \"field_name\": null, \"field_type\": null, \"highlight_type\": null, \"hidden_field_name\": null, \"hidden_field_value\": null}], \"language\": null, \"video_id\": null, \"direction\": \"ltr\", \"list_type\": null}], \"direction\": \"ltr\"}}
{\"root\": {\"type\": \"root\", \"format\": \"\", \"indent\": 0, \"version\": 1, \"children\": [{\"tag\": null, \"type\": \"paragraph\", \"start\": null, \"format\": \"\", \"indent\": 0, \"version\": 1, \"children\": [{\"rel\": null, \"src\": null, \"url\": null, \"mode\": \"normal\", \"text\": \"gbfbvc\", \"type\": \"text\", \"style\": \"\", \"title\": null, \"value\": null, \"width\": null, \"detail\": 0, \"format\": 0, \"height\": null, \"indent\": null, \"inline\": null, \"target\": null, \"checked\": null, \"version\": 1, \"alt_text\": null, \"children\": null, \"equation\": null, \"field_id\": null, \"direction\": null, \"max_width\": null, \"field_name\": null, \"field_type\": null, \"highlight_type\": null, \"hidden_field_name\": null, \"hidden_field_value\": null}], \"language\": null, \"video_id\": null, \"direction\": \"ltr\", \"list_type\": null}], \"direction\": \"ltr\"}}";
// 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/