这是验证失败的特定XML标记:
<MiddleName>A</MiddleName>
Run Code Online (Sandbox Code Playgroud)
该标记的XSD:
<xsd:element name="MiddleName" type="MiddleInitial" />
<xsd:simpleType name="MiddleInitial">
<xsd:restriction base="xsd:string">
<xsd:pattern value="^[A-Za-z]?$" />
</xsd:restriction>
</xsd:simpleType>
Run Code Online (Sandbox Code Playgroud)
我得到的错误:
cvc-pattern-valid: Value 'A' is not facet-valid with respect to pattern '^[A-Za-z]?$' for type 'MiddleInitial'.
Run Code Online (Sandbox Code Playgroud)
我正在使用的验证器:
http://tools.decisionsoft.com/schemaValidate/
正则表达式看起来很好.^匹配开始,$,结束,?是字母AZ或az的零或一倍.
有任何想法吗?
Jim*_*son 19
从w3规范正则表达式(附录D):
...表达式与整个词法表示形式匹配,而不是用户范围的词汇表示形式,如行和段落.出于这个原因,表达式语言不包含元字符^和$,尽管^用于表示异常,例如[^ 0-9] x
即拿出来^
和$
.