xsd 文件用于限定xml 文件元素格式:
有如下格式代码:
<upperLevel>100%</upperLevel>
<lowerLevel>15%</lowerLevel>
在xmd 文件中定义格式如下
<xs:element name="healthManager" type="booleanType"/>
<xs:element name="upperLevel" type="percentType"/>
<xs:simpleType name="percentType">
<xs:restriction base="xs:string">
<xs:pattern value="100%|[1-9][0-9]%|[0-9]%"/>
</xs:restriction>
</xs:simpleType>
在正则表达式中,使用
^100%$|^[1-9][0-9]%$|^[0-9]%$
如上正则表达式,一直报错,查阅 https://www.w3.org/TR/xmlschema-0/#regexAppendix 可知
大致意思是:
XML架构的正则表达式使用了支持Unicode的正则表达式语言。它类似于Perl编程语言使用的正则表达式,表达式是针对整个词法,而非用户范围的词汇表示,如线和段落。出于这个原因,表达式不包含元字符^和$ ,虽然^是用来表达异常,例如[^ 0-9 ]× 。
所以,将正则表达式中的 ^ 和 $ 即可。