杨模式不接受包含 ^ 和 $ 的正则表达式
Yang pattern not accepting regex containing ^ and $
Yang 模式在包含脱字符 ^ 或美元 $ 时不接受有效的正则表达式。
波纹管模式在 Regex 验证器上有效,但是当 运行 在 is-types.yang 文件中的 Yang 模式模板内时,我的应用程序出错。
然而,当我从表达式的每个部分中去掉 ^ 和 $ 时,它工作正常。但是,这现在允许正则表达式接受不需要的值。
我正在尝试匹配 1、11、1/1/1、1/1/1/1。
尝试模式:
^([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})$
杨类型定义:
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";
}
我也不知道在哪里可以和杨一起issues/bugs。
这是 RFC7950 关于“模式”声明的说法:
The "pattern" statement, which is an optional substatement to the
"type" statement, takes as an argument a regular expression string,
as defined in [XSD-TYPES]. It is used to restrict the built-in type
"string", or types derived from "string", to values that match the
pattern.
如果您遵循规范参考 XSD-TYPES
,您最终会:
[XSD-TYPES]
Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes
Second Edition", World Wide Web Consortium Recommendation
REC-xmlschema-2-20041028, October 2004,
http://www.w3.org/TR/2004/REC-xmlschema-2-20041028.
因此 YANG“模式”语句中的正则表达式由 XML 架构 (XSD) 类型规范定义(以及针对 YANG 1.0 和 1.1 的特定修订版)。
与其他一些正则表达式风格不同,YANG“模式”开头的 ^
字符或 YANG“模式”结尾的 $
字符不会被解释为锚点。相反,它们按字面解释为必须匹配的字符。所有“模式”表达式都是隐式锚定的,因此匹配整个值。
您可以了解更多关于 XML 架构正则表达式 here 的细节。
Yang 模式在包含脱字符 ^ 或美元 $ 时不接受有效的正则表达式。
波纹管模式在 Regex 验证器上有效,但是当 运行 在 is-types.yang 文件中的 Yang 模式模板内时,我的应用程序出错。
然而,当我从表达式的每个部分中去掉 ^ 和 $ 时,它工作正常。但是,这现在允许正则表达式接受不需要的值。
我正在尝试匹配 1、11、1/1/1、1/1/1/1。
尝试模式:
^([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})$
杨类型定义:
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";
}
我也不知道在哪里可以和杨一起issues/bugs。
这是 RFC7950 关于“模式”声明的说法:
The "pattern" statement, which is an optional substatement to the "type" statement, takes as an argument a regular expression string, as defined in [XSD-TYPES]. It is used to restrict the built-in type "string", or types derived from "string", to values that match the pattern.
如果您遵循规范参考 XSD-TYPES
,您最终会:
[XSD-TYPES] Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes Second Edition", World Wide Web Consortium Recommendation REC-xmlschema-2-20041028, October 2004, http://www.w3.org/TR/2004/REC-xmlschema-2-20041028.
因此 YANG“模式”语句中的正则表达式由 XML 架构 (XSD) 类型规范定义(以及针对 YANG 1.0 和 1.1 的特定修订版)。
与其他一些正则表达式风格不同,YANG“模式”开头的 ^
字符或 YANG“模式”结尾的 $
字符不会被解释为锚点。相反,它们按字面解释为必须匹配的字符。所有“模式”表达式都是隐式锚定的,因此匹配整个值。
您可以了解更多关于 XML 架构正则表达式 here 的细节。