【问题标题】:XSD (xml schema) that validate an integer with comma delimited (by 1000th)XSD(xml 模式)验证以逗号分隔的整数(第 1000 位)
【发布时间】:2013-12-05 00:32:25
【问题描述】:

我有 1,000,212 或 23,356 或只有 235

你明白了。

我似乎无法在 XSD 规则中找到允许我这样做的数据类型/限制。我假设我必须使用模式 reg 匹配字符串?如果是这样,我该怎么写?

我有这样的东西。但它似乎不起作用

  <xs:restriction base="xs:token">
    <xs:pattern value="[1-9][0-9]*(, ?[1-9][0-9]*)*"/>
  </xs:restriction>

【问题讨论】:

  • 欢迎来到 Stack Overflow。如果你展示了你尝试过的东西,Stack Overflow 的读者会认为你正在努力解决问题,并会尝试帮助你了解问题所在。如果您不这样做,许多读者会(正确或错误地)假设您只是希望其他人为您工作;这样你得到的帮助会少很多。那么:你尝试过什么?
  • 已编辑。我试过上面的代码

标签: xml xsd schema


【解决方案1】:

您的正则表达式匹配任何不以零开头的数字序列,并且包含任意数量的逗号,可选地后跟空格并由至少一个数字分隔(第一个数字不能为零)。所以它应该接受你所有的例子。我猜错在它也接受12345678901,23,45678,9之类的例子,而拒绝10,000

如果您希望逗号出现在常规模式中,您将需要制定一个正则表达式,该表达式要求逗号恰好由三位数字分隔,并且在第一个逗号之前不允许有三位数字。

我会尝试[1-9][0-9]{0,2}(, ?[0-9]{3})* 看看它是否满足您的需求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多