// 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"<\/?soap:(Envelope|Body).*>").unwrap();
let string = "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">
<soap:Body>
<HentMVAKodeResponse xmlns=\"http://rep.baerum.kommune.no/Oekonomi/Regnskap/Xml/Schema/20120401\" xmlns:ns2=\"http://rep.baerum.kommune.no/Teknisk/Kontekst/Xml/Schema/20090317\" xmlns:ns3=\"http://rep.baerum.kommune.no/Felles/Xml/Schema/20090322\" xmlns:ns4=\"http://rep.baerum.kommune.no/Teknisk/Status/Xml/Schema/20081218\" xmlns:ns5=\"http://rep.baerum.kommune.no/Felles/Xml/Schema/20120401\" xmlns:ns6=\"http://rep.baerum.kommune.no/Personal/Xml/Schema/20090322\">
<MVAKodeListe>
<MVAKodeStruktur>
<MVAKode>8</MVAKode>
<MVAKodeTekst>0 % kompensasjonberettiget</MVAKodeTekst>
<MVAKodeProsent>0</MVAKodeProsent>
<MVAKodeFaktorProsent>0</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>19500102</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>28</MVAKode>
<MVAKodeTekst>0 % inngående avgift</MVAKodeTekst>
<MVAKodeProsent>0</MVAKodeProsent>
<MVAKodeFaktorProsent>0</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-02</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>30</MVAKode>
<MVAKodeTekst>Uten utgående avgift</MVAKodeTekst>
<MVAKodeProsent>0</MVAKodeProsent>
<MVAKodeFaktorProsent>0</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Utgaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-02</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>1</MVAKode>
<MVAKodeTekst>25 % kompensasjonsberettiget</MVAKodeTekst>
<MVAKodeProsent>25</MVAKodeProsent>
<MVAKodeFaktorProsent>0.25</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>27</MVAKode>
<MVAKodeTekst>100 % inngående avgift</MVAKodeTekst>
<MVAKodeProsent>0</MVAKodeProsent>
<MVAKodeFaktorProsent>0</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-02</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>7</MVAKode>
<MVAKodeTekst>100 % kompensasjonberettiget</MVAKodeTekst>
<MVAKodeProsent>0</MVAKodeProsent>
<MVAKodeFaktorProsent>0</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-02</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>31</MVAKode>
<MVAKodeTekst>25 % inngående avgift</MVAKodeTekst>
<MVAKodeProsent>25</MVAKodeProsent>
<MVAKodeFaktorProsent>0.25</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Utgaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>32</MVAKode>
<MVAKodeTekst>15 % utgående avgift</MVAKodeTekst>
<MVAKodeProsent>15</MVAKodeProsent>
<MVAKodeFaktorProsent>0.15</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Utgaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>33</MVAKode>
<MVAKodeTekst>8 % utgående avgift</MVAKodeTekst>
<MVAKodeProsent>8</MVAKodeProsent>
<MVAKodeFaktorProsent>0.08</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Utgaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>21</MVAKode>
<MVAKodeTekst>25 % inngående avgift</MVAKodeTekst>
<MVAKodeProsent>25</MVAKodeProsent>
<MVAKodeFaktorProsent>0.25</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>22</MVAKode>
<MVAKodeTekst>15 % inngående avgift</MVAKodeTekst>
<MVAKodeProsent>15</MVAKodeProsent>
<MVAKodeFaktorProsent>0.15</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>23</MVAKode>
<MVAKodeTekst>8 % inngående avgift</MVAKodeTekst>
<MVAKodeProsent>8</MVAKodeProsent>
<MVAKodeFaktorProsent>0.08</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2015-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>29</MVAKode>
<MVAKodeTekst>25 % inngående avgift tjenestekjøp utland</MVAKodeTekst>
<MVAKodeProsent>25</MVAKodeProsent>
<MVAKodeFaktorProsent>0.25</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>2</MVAKode>
<MVAKodeTekst>15 % kompensasjonberettiget</MVAKodeTekst>
<MVAKodeProsent>15</MVAKodeProsent>
<MVAKodeFaktorProsent>0.15</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>3</MVAKode>
<MVAKodeTekst>8 % kompensasjonberettiget</MVAKodeTekst>
<MVAKodeProsent>8</MVAKodeProsent>
<MVAKodeFaktorProsent>0.08</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>9</MVAKode>
<MVAKodeTekst>25 % komp. tjenestekjøp utland</MVAKodeTekst>
<MVAKodeProsent>25</MVAKodeProsent>
<MVAKodeFaktorProsent>0.25</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>OFF</MVAKode>
<MVAKodeTekst>25 % mva. motpost bedrift 1</MVAKodeTekst>
<MVAKodeProsent>-25</MVAKodeProsent>
<MVAKodeFaktorProsent>-0.25</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>6</MVAKode>
<MVAKodeTekst/>
<MVAKodeProsent>0</MVAKodeProsent>
<MVAKodeFaktorProsent>0</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>2015-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
<MVAKodeStruktur>
<MVAKode>89</MVAKode>
<MVAKodeTekst>89_9TEST3 ifm. EMEA VAT Reporting</MVAKodeTekst>
<MVAKodeProsent>30</MVAKodeProsent>
<MVAKodeFaktorProsent>0.3</MVAKodeFaktorProsent>
<MVAKodeTypeKode>Inngaaende</MVAKodeTypeKode>
<ns3:GyldigTidsromStruktur>
<ns3:GyldigFraDato>1950-01-01</ns3:GyldigFraDato>
<ns3:GyldigTilDato>2099-12-31</ns3:GyldigTilDato>
</ns3:GyldigTidsromStruktur>
</MVAKodeStruktur>
</MVAKodeListe>
<ns4:ResultatStatusStruktur>
<ns4:StatusBeskrivelse>-</ns4:StatusBeskrivelse>
<ns4:StatusKode>0</ns4:StatusKode>
<ns4:StatusLogId/>
</ns4:ResultatStatusStruktur>
<ns2:KontekstInformasjonStruktur>
<ns2:ApplikasjonsId>EBS-HentMVAKode</ns2:ApplikasjonsId>
<ns2:KorrelasjonsId>2</ns2:KorrelasjonsId>
</ns2:KontekstInformasjonStruktur>
</HentMVAKodeResponse>
</soap:Body>
</soap:Envelope>
";
// 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/