You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在YANG中限制字符串为指定允许的字符串集合?

YANG约束字符串为指定集合的两种方法

当然存在对应的YANG语句实现这个需求,这里有两种常用方案,推荐优先使用第一种:

1. 使用enumeration类型(推荐)

enumeration是YANG专门用来定义离散取值集合的类型,语义清晰且工具支持性更好,直接把允许的字符串定义为枚举值即可:

leaf product {
  type enumeration {
    enum apple {
      description "苹果类产品";
    }
    enum orange {
      description "橙子类产品";
    }
    enum strawberry {
      description "草莓类产品";
    }
  }
}

这种方式的优势在于,任何支持YANG的工具都能直接识别出允许的取值选项,不仅能严格校验输入,还能给用户提供明确的取值提示,完全适配这类固定集合约束的场景。

2. 使用pattern语句匹配正则

如果一定要用pattern,可以通过精确匹配的正则表达式来约束,注意要加上^和$限定字符串首尾,避免出现部分匹配的情况:

leaf product {
  type string {
    pattern "^(apple|orange|strawberry)$";
  }
}

这个正则的含义是:输入的字符串必须完全等于apple、orange或strawberry中的一个,不允许出现前缀、后缀或其他额外字符。

内容的提问来源于stack exchange,提问作者AngelosFr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 21:15:55