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