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

相关推荐
菜鸟小九7 分钟前
html、css(javaweb第一天)
前端·css·html
黄雪超12 分钟前
JVM——对象模型:JVM对象的内部机制和存在方式是怎样的?
java·开发语言·jvm
凌冰_13 分钟前
Tomcat 安装和配置
java·tomcat
一只叫煤球的猫18 分钟前
虚拟线程生产事故复盘:警惕高性能背后的陷阱
java·后端·性能优化
y东施效颦26 分钟前
uni-app页面发布测试环境出现连接服务器超时,点击屏幕重试解决方案
前端·javascript·vue.js·uni-app·vue
大熊程序猿29 分钟前
《开篇:课程目录》
前端·c#
秋田君40 分钟前
深入理解JavaScript设计模式之单例模式
javascript·单例模式·设计模式
是烟花哈1 小时前
IDEA中的debug使用技巧
java·ide·intellij-idea
摸鱼仙人~1 小时前
React中子传父组件通信操作指南
前端·javascript·react.js
程序员阿超的博客1 小时前
React事件处理:如何给按钮绑定onClick点击事件?
前端·javascript·react.js