Skip to main content

ghpascon_rust/utils/
regex.rs

1use regex::Regex;
2
3pub fn regex_hex(value: &str) -> bool {
4    // only hex characters (0-9, a-f, A-F)
5    let re = Regex::new(r"^[0-9a-fA-F]+$").unwrap();
6
7    // validate pattern
8    return re.is_match(value);
9}
10
11#[cfg(test)]
12mod tests {
13    use super::*;
14
15    #[test]
16    fn test_regex_ok() {
17        assert!(regex_hex("1a2b3c"));
18        assert!(regex_hex("1A2B3C"));
19        assert!(regex_hex("1a2b3c"));
20    }
21
22    #[test]
23    fn test_non_hex() {
24        assert!(!regex_hex("1a2b3g"));
25        assert!(!regex_hex("xyz"));
26        assert!(!regex_hex("12345z"));
27    }
28}