[英]regex in java with conditions
我必須根據以下條件在Java中編寫Regex:
到目前為止我只有這個:
(\\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的正則表達式語法並不太了解,所以我將其作為讀者的練習。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.