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(...) 都重新编译,这样可以大幅提升性能。

相关推荐
bitbitDown4 分钟前
重构缓存时踩的坑:注释了三行没用的代码却导致白屏
前端·javascript·vue.js
Noii.7 分钟前
Spring Boot初级概念及自动配置原理
java·spring boot·后端
xiaopengbc8 分钟前
火狐(Mozilla Firefox)浏览器离线安装包下载
前端·javascript·firefox
探索java15 分钟前
Tomcat Server 组件原理
java·后端·tomcat
勿在浮沙筑高台15 分钟前
无法获取实体类com.example.springdemo2.entity.po.UserPO对应的表名!
java·spring boot·mybatis
用户0165238444129 分钟前
Webpack5 入门与实战,前端开发必备技能无密
前端
小高00729 分钟前
🔥🔥🔥前端性能优化实战手册:从网络到运行时,一套可复制落地的清单
前端·javascript·面试
古夕32 分钟前
my-first-ai-web_问题记录01:Next.js的App Router架构下的布局(Layout)使用
前端·javascript·react.js
Solon阿杰35 分钟前
solon-flow基于bpmnJs的流程设计器
javascript·bpmn-js
Solon阿杰35 分钟前
前端(react/vue)实现全景图片(360°)查看器
javascript·vue.js