// 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"(\\u001b)(8|7|H|>|\[(\?\d+(h|l)|[0-2]?(K|J)|\d*(A|B|C|D\D|E|F|G|g|i|m|n|S|s|T|u)|1000D\d+|\d*;\d*(f|H|r|m)|\d+;\d+;\d+m))").unwrap();
let string = "\\u001b7 \\u001b8 \\u001bH \\u001b>
\\u001b[K \\u001b[0K \\u001b[J \\u001b[2J
\\u001b[10A \\u001b[10B \\u001b[10C \\u001b[10D \\u001b[10E \\u001b[10F
\\u001b[10S \\u001b[10T \\u001b[10G \\u001b[8C \\u001b[s \\u001b[u \\u001b[1000D22
\\u001b[999;999H \\u001b[1;1H \\u001b[1;1f \\u001b[1;24r
\\u001b[6n \\u001b[5i \\u001b[4i \\u001b[3g
\\u001b[?7h \\u001b[?25h \\u001b[?25l
\\u001b[0m
\\u001b[31m \\u001b[41m
\\u001b[1m \\u001b[4m \\u001b[5m \\u001b[7m \\u001b[8m
\\u001b[31;1m \\u001b[41;1m
\\u001b[38;5;255m \\u001b[48;5;255m";
// 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/