// 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)(<Group id="\d+">\n\t\t\t<Name>)(\w+)_(\w+)(<\/Name>\n\t\t\t<Description>)([\w+\s]+)\s-\s([\w+\s]+)(<\/Description>)"#).unwrap();
let string = " <Group id=\"100\">
<Name>generalAlarm_Group01</Name>
<Description>Group General Alarm 01</Description>
<Type>poll</Type>
<Content multipleGet=\"true\">
<Param>100</Param>
<Param>101</Param>
<Param>103</Param>
<Param>104</Param>
<Param>120</Param>
<Param>121</Param>
</Content>
</Group>
<Group id=\"110\">
<Name>generalConfig_Group01</Name>
<Description>Group General Config 01</Description>
<Type>poll</Type>
<Content multipleGet=\"true\">
<Param>105</Param>
<Param>106</Param>
<Param>107</Param>
<Param>108</Param>
<Param>109</Param>
<Param>110</Param>
<Param>111</Param>
<Param>112</Param>
<Param>113</Param>
</Content>
</Group>
<Group id=\"1000\">
<Name>firstPriorityAlarmConfig_Group1000</Name>
<Description>First Priority Alarm Config Table - Group 1000</Description>
<Type>poll</Type>
<Content multipleGet=\"true\">
<Param>1000</Param>
</Content>
</Group>
<Group id=\"2000\">
<Name>secondPriorityAlarmConfig_Group2000</Name>
<Description>Second Priority Alarm Config Table - Group 2000</Description>
<Type>poll</Type>
<Content multipleGet=\"true\">
<Param>2000</Param>
</Content>
</Group>
<Group id=\"3000\">
<Name>thirdPriorityAlarmConfig_Group3000</Name>
<Description>Third Priority Alarm Config Table - Group 3000</Description>
<Type>poll</Type>
<Content multipleGet=\"true\">
<Param>3000</Param>
</Content>
</Group>";
let substitution = "$1$3_$2$4$6 - $5$7";
// 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/