rust REGEX和lazy_static 和struct 混用

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::Lazylazy_static)保证这个 Regex 对象只会在第一次被使用时构建一次,之后所有线程都能安全地共享它。

  • 相比每次调用 Regex::new(...) 都重新编译,这样可以大幅提升性能。

相关推荐
带刺的坐椅2 分钟前
Solon Ai Flow 编排开发框架发布预告(效果预览)
java·ai·solon·dify·solon-flow
2302_8097983216 分钟前
【JavaWeb】JDBC
java·开发语言·servlet
繁依Fanyi35 分钟前
ImgShrink:摄影暗房里的在线图片压缩工具开发记
开发语言·前端·codebuddy首席试玩官
卓律涤40 分钟前
【找工作系列①】【大四毕业】【复习】巩固JavaScript,了解ES6。
开发语言·前端·javascript·笔记·程序人生·职场和发展·es6
小刘不想改BUG1 小时前
LeetCode LCR 010 和为 K 的子数组 (Java)
java·算法·leetcode
MeyrlNotFound1 小时前
(二十一)Java集合框架源码深度解析
java·开发语言
正在走向自律1 小时前
2025年、2024年最新版IntelliJ IDEA下载安装过程(含Java环境搭建+Maven下载及配置)
java·jvm·jdk·maven·intellij-idea
不会就选C.1 小时前
【开源分享】健康饮食管理系统(双端+论文)
java·spring boot·开源·毕业设计
永远有多远.1 小时前
【高频面试题】LRU缓存
java·缓存·面试
Ten peaches1 小时前
Selenium-Java版(环境安装)
java·前端·selenium·自动化