我需要为字符串列编写限制,以便它包含20个字母和以下3个字符:(。, - )。
如何做到这一点?
谢谢。
答案 0 :(得分:2)
请试试这个:
<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个字符,正则表达式强制总长度的三个字符在逗号,连字符和句点之间。