rust
lazy_static! {
static ref SSID_REG: Regex = Regex::new(r"^[0-9a-zA-Z-_]{1,32}$").unwrap();
}
#[derive(Serialize, Deserialize, Validate, Debug, Clone)]
pub struct WifiClient {
pub enabled: bool,
#[validate(regex = "SSID_REG")]
pub ssid: String,
pub freq: ChannelConnect,
}
-
Lazy<Regex>
(通常来自once_cell::sync::Lazy
或lazy_static
)保证这个Regex
对象只会在第一次被使用时构建一次,之后所有线程都能安全地共享它。 -
相比每次调用
Regex::new(...)
都重新编译,这样可以大幅提升性能。