XSD 模式中“[A-Z]{4}\d{2}-\d{4}”的含义
Meaning of "[A-Z]{4}\d{2}-\d{4}" in an XSD pattern
谁能用一个有效数据参数的例子来解释一下这个模式的含义。
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]{4}\d{2}-\d{4}"/>
</xsd:restriction>
</xsd:simpleType>
示例如下:
有效
FOOB45-9876
BAZZ36-1726
无效
foob47-8372 // may not contain lowercase letters
FOO36-8373 // only 3 starting characters
FOOB29_8473 // underscore instead of hyphen
FOOBa3-8272 // must contain two numbers before the hyphen
等等。
正如@Petru Gardea 评论的那样,XSD 的正则表达式风格隐式锚定了 ^ 和 $,这意味着 FFOOB45-9876
和 FOOB45-98767
都是无效的,而所有其他正则表达式引擎(我们知道)实际上会匹配它们。
谁能用一个有效数据参数的例子来解释一下这个模式的含义。
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Z]{4}\d{2}-\d{4}"/>
</xsd:restriction>
</xsd:simpleType>
示例如下:
有效
FOOB45-9876
BAZZ36-1726
无效
foob47-8372 // may not contain lowercase letters
FOO36-8373 // only 3 starting characters
FOOB29_8473 // underscore instead of hyphen
FOOBa3-8272 // must contain two numbers before the hyphen
等等。
正如@Petru Gardea 评论的那样,XSD 的正则表达式风格隐式锚定了 ^ 和 $,这意味着 FFOOB45-9876
和 FOOB45-98767
都是无效的,而所有其他正则表达式引擎(我们知道)实际上会匹配它们。