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}