You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何定义带字符数量范围限制的XSD pattern校验规则

问题根因

你的代码失效的核心原因是正则量词范围的分隔符语法错误。XSD的pattern校验规则遵循XML Schema正则表达式规范,字符出现次数的范围限定必须使用英文逗号分隔上下限,而非你使用的短横线-,你写的{1-20}属于非法语法,因此规则无法正常生效。

同时需要注意:XSD的pattern默认是隐式锚定整串匹配的,不需要额外添加^、$这类首尾定位标记,添加反而可能导致匹配异常。

正确实现代码
<xsd:simpleType name="NameType">
        <xsd:restriction base="xsd:string">
            <xsd:pattern value="[A-Z][a-z]{1,20}"/>
        </xsd:restriction>
</xsd:simpleType>

上述规则完全符合你的需求:首字符为1个大写英文字母,后续跟随1~20个小写英文字母。

  • 合法输入示例:Zhang、Smith、Aaaaaaaaaaaaaaaaaaaaa(1个大写+20个小写)
  • 非法输入示例:li(首字母小写)、L(无后续小写字母)、Liiiiiiiiiiiiiiiiiiiii(后续小写字母超过20个)

内容的提问来源于stack exchange,提问作者czarniecki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 08:45:04