2
我具有根據以下條件在Java寫的正則表達式的java:正則表達式與條件
- 總位字符的限制= 64
- 0一位數字是可以接受的
- 第一個數字必須是圖1至9,如果一個以上的數字
- 以下數字可通過9名
- 兩個數字被一個小數點後允許
- 逗號的是0不接受
到目前爲止,我只得到了這一點:
(\\d{1,64})
有人可以幫助我
我具有根據以下條件在Java寫的正則表達式的java:正則表達式與條件
到目前爲止,我只得到了這一點:
(\\d{1,64})
有人可以幫助我
Pattern regex = Pattern.compile(
"^ # Start of string \n" +
"(?!.{65}) # Assert length not 65 or greater \n" +
"(?: # Match either \n" +
" 0 # 0 \n" +
"| # or \n" +
" [1-9]\\d* # 1-n, no leading zeroes \n" +
") # End of alternation \n" +
"(?: # Match... \n" +
" \\. # a dot \n" +
" \\d{2} # followed by exactly 2 digits \n" +
")? # ...optionally \n" +
"$ # End of string",
Pattern.COMMENTS);
可能是最清晰的,如果你把它分解成4個場景:
(0(\.\d{1,2})?|[1-9](\d{0,63}|\d{0,61}\.\d|\d{0,60}\.\d\d))
這是一個0可選後跟一個小數和一個或兩個多個數字,或1-9,隨後的一個:
絕對值得使用Java正則表達式中加入一些評論內嵌,但我不是太精明與Java的正則表達式的語法,所以我會離開,作爲一個練習留給讀者。
謝謝你的解釋。你搖滾。 – user1679321
我要去收藏此頁...... – PermGenError
@ user1679321,如果這個回答你的問題,請旁邊的標記。歡迎來到SO! – ikegami