// 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"(?ui)((?:#|0x)(?:[a-f0-9]{3}|[a-f0-9]{6})\b|(?:rgb|hsl)a?\([^\)]*\))").unwrap();
let string = "yo #5E81AC and there rgb(50, 186, 86) or even #1364e7 and rgb(242, 48, 84)
style=\\\"color: rgb(255,0,24)\\\"
style=\\\"color: rgb(255, 0, 24)\\\"
style=\\\"color: rgba(255, 0, 24, .5)\\\"
style=\\\"color: hsla(170, 23%, 25%, 0.2 )\\\"
style=\\\"color: #fff\\\"
style=\\\"color: #f2ewq\\\" this isn\\'t a color
style=\\\"color: #F2F2F2\\\"
style=\\\"color: 0x00ffff\\\" This is a color with the `#` escaped";
// 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/