Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
验证id的java正则表达式_Java_Regex - Fatal编程技术网

验证id的java正则表达式

验证id的java正则表达式,java,regex,Java,Regex,我想要使用java正则表达式验证ID 此ID由'-'字符划分为两部分 左半部分有固定的2个大写英文字母 右侧部分有数字,其中数字长度介于2和5之间 以下是我尝试过的代码: boolean x=l.matches("(?i)[A-Z]{2}-\\[2-3]"); 我使用“HT-43”作为输入。我希望得到的答案是“是”,但我得到的答案是“否”。如果您很接近,请尝试以下操作: String num = "HT-43"; boolean x=num.matches("[A-Z]{2}-\\d{2,5

我想要使用java正则表达式验证ID

  • 此ID由'-'字符划分为两部分
  • 左半部分有固定的2个大写英文字母
  • 右侧部分有数字,其中数字长度介于2和5之间
  • 以下是我尝试过的代码:

    boolean x=l.matches("(?i)[A-Z]{2}-\\[2-3]");
    

    我使用“HT-43”作为输入。我希望得到的答案是“是”,但我得到的答案是“否”。

    如果您很接近,请尝试以下操作:

    String num = "HT-43";
    
    boolean x=num.matches("[A-Z]{2}-\\d{2,5}");
    
    System.out.println(x);
    
    输出

    true
    
    演示

    我不明白为什么,既然你以
    [A-Z]{2}
    开始你的模式(这是正确且有意义的),你就以
    \\[2-3]
    结束你的模式,这根本没有意义!您在正则表达式教程中遗漏了一些内容,或者问题中遗漏了一些内容。再读一遍,否则你总是会问这种奇怪的问题。