亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Maven 構建在 xsd 模式驗證中失敗

Maven 構建在 xsd 模式驗證中失敗

慕尼黑5688855 2021-06-22 08:00:13
我有一個模式:(?!^0000000000000000000)([0-9]{20})應該驗證所有長度= 20不包括的數字0000000000000000000我正在編寫單元測試: String pattern = "(?!^0000000000000000000)([0-9]{20})"; String input  = "0000000000000000000"; String input1 = "0000000000000000000123123"; String input2 = "123123" String input3 = "1231231244245343604"; Assert.assertFalse(input.matches(pattern)) Assert.assertFalse(input1.matches(pattern)) Assert.assertFalse(input2.matches(pattern)) Assert.assertTrue(input3.matches(pattern))這段代碼運行良好,但是當我嘗試在 xsd 中使用帶有模式的 maven 構建我的項目時,它失敗并顯示驗證模式錯誤我做錯了什么?
查看完整描述

1 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

我建議您使用以下限制:


<xs:restriction base="xs:unsignedLong">

    <xs:minInclusive value="1"/>

    <xs:pattern value="[0-9]{20}"/>

</xs:restriction>

這可確保您的輸入是大于 的 20 位正數00000000000000000000。


如果您需要基于字符串的類型,則必須按照Wiktor Stribi?ew建議的模式拼出所有可能的替代方案:


<xs:restriction base="xs:string">

  <xs:pattern value="[0-9]{19}[1-9]|[0-9]{18}[1-9][0-9]|[0-9]{17}[1-9][0-9]{2}|[0-9]{16}[1-9][0-9]{3}|[0-9]{15}[1-9][0-9]{4}|[0-9]{14}[1-9][0-9]{5}|[0-9]{13}[1-9][0-9]{6}|[0-9]{12}[1-9][0-9]{7}|[0-9]{11}[1-9][0-9]{8}|[0-9]{10}[1-9][0-9]{9}|[0-9]{10}[1-9][0-9]{9}|[0-9]{9}[1-9][0-9]{10}|[0-9]{8}[1-9][0-9]{11}|[0-9]{7}[1-9][0-9]{12}|[0-9]{6}[1-9][0-9]{13}|[0-9]{5}[1-9][0-9]{14}|[0-9]{4}[1-9][0-9]{15}|[0-9]{3}[1-9][0-9]{16}|[0-9]{2}[1-9][0-9]{17}|[0-9][1-9][0-9]{18}"/>

</xs:restriction>


查看完整回答
反對 回復 2021-06-23
  • 1 回答
  • 0 關注
  • 237 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號