1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#[macro_export] macro_rules! regex { ($expr:expr) => {{ static REGEX: ::once_cell::sync::Lazy<::regex::Regex> = ::once_cell::sync::Lazy::new(|| ::regex::Regex::new($expr).unwrap()); ®EX }}; ($expr:expr,) => { regex!($expr) }; } #[macro_export] macro_rules! select { ($selectors:literal) => {{ static SELECTOR: ::once_cell::sync::Lazy<::scraper::selector::Selector> = ::once_cell::sync::Lazy::new(|| { ::scraper::selector::Selector::parse($selectors).unwrap() }); &SELECTOR }}; ($selectors:literal,) => { selector!($selectors) }; }