有条件的java中的正则表达式

use*_*321 2 java regex

我必须根据以下条件用Java编写Regex:

  • 总数字字符数限制= 64
  • 单个数字0是可以接受的
  • 如果超过一位,则第一个数字必须是1到9
  • 以下数字可以是0到9
  • 小数点后允许两位数
  • 逗号是不被接受的

到目前为止我只有这个:

(\\d{1,64})
Run Code Online (Sandbox Code Playgroud)

有人能帮我吗

Tim*_*ker 7

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);
Run Code Online (Sandbox Code Playgroud)

  • 谢谢你的解释.你摇滚. (4认同)