// 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)<bean id=.*processName"\s*value="([a-zA-Z0-9\.]*).*processVersion"\s*value="([0-9\.]*)".*<\/bean>"#).unwrap();
let string = "<bean id=\"AuthenticationServicePDCAdapter\" class=\"br.com.bradesco.web.crur.service.data.pdc.authenticationservice.AuthenticationServicePDCAdapterImpl\" parent=\"PDCAdapterAbstract\" abstract=\"false\" singleton=\"true\" lazy-init=\"true\" autowire=\"default\" dependency-check=\"default\"> <property name=\"group\" value=\"INTRANET\"/> <property name=\"description\" value=\"Insert description here\"/> <property name=\"processName\" value=\"intranet.framework.logon\"/> <property name=\"processVersion\" value=\"1.0.9\"/> <property name=\"adapterPackage\" value=\"br.com.bradesco.web.crur.service.data.pdc\"/> <property name=\"processProduct\" value=\"Intranet\"/> <property name=\"isLoginRequired\" value=\"false\"/> <property name=\"baseClassRequestName\" value=\"LogonRequest\"/> <property name=\"baseClassResponseName\" value=\"LogonResponse\"/> <property name=\"factoryId\" value=\"factoryAdapter\"/> <property name=\"factoryPackage\" value=\"br.com.bradesco.web.crur.service.data.pdc\"/> <property name=\"factoryClassName\" value=\"FactoryAdapter\"/> <property name=\"isNewAwbFrameworkVersion\" value=\"true\"/> <property name=\"pdcConnector\" ref=\"${pdc.connector}\"/> </bean>
";
let substitution = "$1-$2";
// result will be a String with the substituted value
let result = regex.replace_all(string, substitution);
println!("{}", result);
}
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/