Skip to main content

xx/
regex.rs

1#[macro_export]
2macro_rules! regex {
3    ($re:literal $(,)?) => {{
4        static RE: std::sync::OnceLock<regex::Regex> = std::sync::OnceLock::new();
5        RE.get_or_init(|| regex::Regex::new($re).unwrap())
6    }};
7}
8
9#[cfg(test)]
10mod tests {
11    use test_log::test;
12
13    #[test]
14    fn test_regex() {
15        let re = regex!("^\\d{4}-\\d{2}-\\d{2}$");
16        assert!(re.is_match("2021-01-01"));
17        assert!(!re.is_match("2021-01-01-01"));
18    }
19}