【发布时间】:2014-02-24 21:04:35
【问题描述】:
我需要为一个字符串列写一个限制,这样它将包含 20 个字母和以下 3 个:(. , -)。
如何做到这一点?
谢谢。
【问题讨论】:
标签: xsd restriction
我需要为一个字符串列写一个限制,这样它将包含 20 个字母和以下 3 个:(. , -)。
如何做到这一点?
谢谢。
【问题讨论】:
标签: xsd restriction
请试试这个:
<xs:element name="someString">
<xs:simpleType>
<xs:restriction base="xsd:string">
<xs:pattern value="([\w]*[\.\,\-]?[\w]*[\.\,\-]?[\w]*[\.\,\-]?[\w]*)"/>
<xs:length value="23"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
说明:
[\w\.\,\-]{0,20} 匹配下面列表中的单个字符
量词:
0到20次之间,尽可能多次,按需回馈[贪心]
所以基本上这将匹配所有这些
length value="23" 强制总字符串为 23 个字符,正则表达式强制总长度的三个字符在逗号、连字符和句点之间。
【讨论】: