首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不接受包含^和$的正则表达式的Yang模式

不接受包含^和$的正则表达式的Yang模式
EN

Stack Overflow用户
提问于 2021-12-14 15:08:49
回答 1查看 233关注 0票数 0

当杨模式包含插入符^或美元$时,它不接受有效的Regex。

下面的模式在Regex验证器上是有效的,但是当在is - The . Yang文件中的Yang模式模板中运行时,我的应用程序错误。

但是,当我从表达式的每个部分取下^和$时,它工作得很好。但是,这现在允许regex接受不需要的值。

我试图匹配1,11,1/1/1,1/1/1/1 /1。

尝试这种模式:

代码语言:javascript
运行
复制
^([0-9]{1,3}/[0-9]{1,3}/[0-9]{1,3})$|^([0-9]{1,3}/[0-9]{1,3}/[0-9]{1,3}/[0-9]{1,3})$|^([0-9]{1,2})$

杨建民f:

代码语言:javascript
运行
复制
typedef interface_number_value {
    type string {
        pattern "([0-9]{1,3}/[0-9]{1,3}/[0-9]{1,3})|([0-9]{1,3}/[0-9]{1,3}/[0-9]{1,3}/[0-9]{1,3})|([0-9]{1,2})" {
            error-message "error";
        }
    } 
    description
        "description";
}

另外,我也不知道在哪里向杨提出问题/错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-15 07:58:06

关于“模式”声明,RFC7950就是这样说的:

"pattern“语句是"type”语句的可选子语句,它将XSD-type中定义的正则表达式字符串作为参数。它用于将内置类型"string“或从"string”派生的类型限制为与模式匹配的值。

如果您遵循规范参考XSD-TYPES,您最终将获得以下内容:

XSD-类型Biron,P.和A. Malhotra,“xmlschema第2部分:数据类型第二版”,万维网联合会推荐的Recommendation 2-20041028,2004年10月,http://www.w3.org/TR/2004/REC-xmlschema-2-20041028

因此,YANG "pattern“语句中的正则表达式由XML (XSD)类型规范(以及对YANG 1.0和1.1的特定修订)定义。

与其他正则表达式不同,阳“模式”开头的^字符或杨“模式”末尾的$字符不被解释为锚。相反,它们被字面上解释为必须匹配的字符。所有“模式”表达式都隐式锚定,因此匹配整个值。

您可以更多地了解XML正则表达式这里的细节。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70351146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档