// 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#"(?msi)(?smi)^.*tag="[A-Z]_([A-Z]{2})_(\d{4}).*$"#).unwrap();
let string = "<?xml version=\"1.0\"?>
-<PEGraphic gridSpaceY=\"100\" gridSpaceX=\"100\" bkgdImage=\"\" gridColor=\"#333333\" paperColor=\"#000000\" width=\"19600\" height=\"14200\" version=\"5\">
<Font height=\"120\" name=\"Arial\"/>
-<Polyline backFill=\"yes\" backColor=\"#FFFFFF\">
<Location right=\"6020\" bottom=\"12445\" left=\"6018\" top=\"11741\"/>
<Pen width=\"2\" style=\"solid\" color=\"#00FF00\"/>
<Brush style=\"hollow\" color=\"#00FF00\"/>
<Point y=\"11741\" x=\"6019\"/>
<Point y=\"12445\" x=\"6019\"/>
</Polyline>
-<Polyline backFill=\"yes\" backColor=\"#E0E0E0\">
<Location right=\"3365\" bottom=\"12835\" left=\"3363\" top=\"11741\"/>
<Pen width=\"2\" style=\"solid\" color=\"#00FF00\"/>
<Brush style=\"hollow\" color=\"#00FF00\"/>
<Point y=\"11741\" x=\"3364\"/>
<Point y=\"12835\" x=\"3364\"/>
</Polyline>
-<Polyline backFill=\"yes\" backColor=\"#FFFFFF\">
<Location right=\"4627\" bottom=\"6800\" left=\"4521\" top=\"5100\"/>
<Pen width=\"2\" style=\"solid\" color=\"#00FF00\"/>
<Brush style=\"hollow\" color=\"#00FF00\"/>
<Datasource stepped=\"no\" server=\"USFRPVMESPOLYOL\" map=\"IP_DIMAP\" field=\"VAL\" tag=\"p_dc_1730\"/>
-<Animation on=\"yes\">
<AnimationRange color=\"#666666\" image=\"\" text=\"act sp\" max=\"0\" min=\"0\" index=\"1\"/>
<AnimationRange color=\"#00FF00\" image=\"\" text=\"act sp\" max=\"1\" min=\"1\" index=\"2\"/>
</Animation>
<Point y=\"5100\" x=\"4627\"/>
<Point y=\"6800\" x=\"4627\"/>
</Polyline>
-<Polyline backFill=\"yes\" backColor=\"#FFFFFF\">
<Location right=\"3719\" bottom=\"4394\" left=\"1918\" top=\"3300\"/>
<Pen width=\"2\" style=\"solid\" color=\"#00FF00\"/>
<Brush style=\"hollow\" color=\"#00FF00\"/>
<Datasource stepped=\"no\" server=\"USFRPVMESPOLYOL\" map=\"\" field=\"VAL\" tag=\"P_DC_2103\"/>
-<Animation on=\"yes\">
<AnimationRange color=\"#666666\" image=\"\" text=\"act sp\" max=\"0\" min=\"0\" index=\"1\"/>
<AnimationRange color=\"#00FF00\" image=\"\" text=\"act sp\" max=\"1\" min=\"1\" index=\"2\"/>
</Animation>
<Point y=\"4394\" x=\"3718\"/>
<Point y=\"4098\" x=\"3718\"/>
<Point y=\"4098\" x=\"1918\"/>
<Point y=\"3300\" x=\"1918\"/>
</Polyline>
";
let substitution = "CG $1($2)";
// result will be a String with the substituted value
let result = regex.replace(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/