// 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)<TextView[^f>]*(?:f(?!ontFamily)[^f>]*)*>").unwrap();
let string = "<TextView
android:id=\"@+id/txt_refer_invite\"
android:layout_width=\"match_parent\"
android:layout_height=\"wrap_content\"
android:layout_below=\"@id/txt_refer_earn\"
android:layout_marginTop=\"8dp\"
android:fontFamily=\"@font/ms500\"
android:gravity=\"center\"
android:lineSpacingExtra=\"10sp\"
android:paddingLeft=\"16.7dp\"
android:paddingRight=\"16.7dp\"
android:text=\"@{data.description}\"
android:textColor=\"@color/color_858585\"
android:textSize=\"13.3sp\"/>
<TextView
android:id=\"@+id/txt_refer_code\"
android:layout_width=\"200dp\"
android:layout_height=\"48dp\"
android:layout_below=\"@id/txt_refer_invite\"
android:layout_centerHorizontal=\"true\"
android:layout_marginTop=\"22dp\"
android:background=\"@drawable/bg_refer_code\"
android:gravity=\"center\"
android:text=\"@{data==null?``:`Invite code : `+data.referralCode}\"
android:textColor=\"#9c9c9c\"
android:textSize=\"14.3sp\"/>";
// 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/