// 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"<outcomeDeclaration(.*?)\/>").unwrap();
let string = "<assessmentItem xmlns=\"http://www.imsglobal.org/xsd/imsqti_v2p1\" xmlns:m=\"http://www.w3.org/1998/Math/MathML\" xmlns:xi=\"http://www.w3.org/2001/XInclude\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.imsglobal.org/xsd/imsqti_v2p1 http://www.imsglobal.org/xsd/qti/qtiv2p1/imsqti_v2p1.xsd\" identifier=\"IT0000300\" title=\"IT0000300\" label=\"Item Label\" adaptive=\"false\" timeDependent=\"false\" toolName=\"TAO\" toolVersion=\"3.1.0-sprint23\">
<responseDeclaration identifier=\"_64B7CBD9-8ED4-EC27-D190-BD0751A38A95\" cardinality=\"single\" baseType=\"string\"/>
<outcomeDeclaration identifier=\"SCORE\" cardinality=\"single\" baseType=\"float\">
<defaultValue>
<value>0</value>
</defaultValue>
</outcomeDeclaration>
<outcomeDeclaration identifier=\"SCORE\" cardinality=\"single\" baseType=\"float\"/>
<stylesheet href=\"style/custom/tao-user-styles.css\" type=\"text/css\" media=\"all\" title=\"\"/>
<itemBody>
<div class=\"grid-row\">
<div class=\"col-12\"><prompt>
<p>300</p>
</prompt>
<extendedTextInteraction responseIdentifier=\"_64B7CBD9-8ED4-EC27-D190-BD0751A38A95\" base=\"10\" minStrings=\"0\" format=\"plain\" class=\"\">
</extendedTextInteraction>
</div>
</div>
</itemBody>";
let substitution = "<outcomeDeclaration$1>\\n\\t<defaultValue>\\n\\t\\t<value>0</value>\\n\\t</defaultValue>\\n</outcomeDeclaration>";
// 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/