use once_cell::sync::Lazy;
pub use regex::*;
pub static REGEX_ACTIVE_CODE: &'static str = r"^[A-Za-z0-9-]{29}$";
pub static REGEX_IPV4: &'static str = r"^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$";
pub static REGEX_URL: &'static str = r"^(https?://)?([\da-z.-]+)\.([a-z.]{2,6})([/\w .-]*)*/?$";
pub static REGEX_EMAIL: &'static str = r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$";
pub static REGEX_FORMAT_PATTERN: Lazy<Regex> = Lazy::new(|| {
Regex::new(r"\{([a-zA-Z0-9_]+)\}").expect("Invalid regex pattern for REGEX_FORMAT_PATTERN")
});
#[cfg(target_os = "windows")]
pub static REGEX_ENV_PATTERN: Lazy<Regex> = Lazy::new(|| {
Regex::new(r"\%([a-zA-Z0-9_]+)\%")
.expect("Invalid regex pattern for REGEX_ENV_PATTERN on Windows")
});
#[cfg(any(target_os = "linux", target_os = "macos"))]
pub static REGEX_ENV_PATTERN: Lazy<Regex> = Lazy::new(|| {
Regex::new(r"\$\{([a-zA-Z0-9_]+)\}")
.expect("Invalid regex pattern for REGEX_ENV_PATTERN on Unix-like systems")
});
#[cfg(not(any(target_os = "linux", target_os = "windows", target_os = "macos")))]
pub static REGEX_ENV_PATTERN: Lazy<Regex> = Lazy::new(|| {
Regex::new(r"\$([a-zA-Z0-9_]+)")
.expect("Invalid regex pattern for REGEX_ENV_PATTERN on other systems")
});