簡體   English   中英

模式匹配器有效數字java

[英]Pattern Matcher valid number java

我想要一個數字驗證。 規則是:

  1. 一個數字可以以 + 或 - 開頭或什么都沒有(它被視為正數)
  2. 不能從 0 開始
  3. 也可以有一個分數。 或者 ,
  4. 不能以 0 結尾

所以可接受的數字是:+123、-123、123、1023、123.03、123,03。 不可接受的數字是:001、1.000、任何字母

我向您展示了迄今為止我在 Dan's Tools 上構建的表達式。 除了分數后面的表達式之外,我幾乎管理了所有內容。 每一個幫助都是可以接受的。

表達式: (^(\\+|-?)([1-9]+))([0-9]+)(\\.|,?)

提前致謝

除了您的模式中缺少的小數部分外,您的正則表達式不會匹配一位數,因為您使用+量詞量化[1-9][0-9]需要至少一個字符。

您可以使用

^[+-]?[1-9][0-9]*(?:[.,][0-9]*[1-9])?$

請參閱正則表達式演示正則表達式圖

在此處輸入圖片說明

細節

  • ^ - 字符串的開始
  • [+-]? - 一個可選的+-
  • [1-9] - 單個非零數字
  • [0-9]* - 零個或多個數字
  • (?:[.,][0-9]*[1-9])? - 一個可選的小數部分: . ,然后是零個或多個數字,后跟一個非零數字
  • $ - 字符串的結尾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM