我想使用Java验证标识格式。

示例:UWU/CST/14/0015UWU/IIT/14/0025

这里需要UWU,并且必须存在CST或IIT之一,否则无效。之后,它可以有任意两位数字,然后在最后一节中至少可以有四位数字。请帮助我解决这个问题。

package validate2;

import java.util.*;
public class Validate2 {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here
    Scanner a=new Scanner(System.in);
    String l=a.next();
    boolean x=l.matches("^uwu\\/\\w\\w\\w\\/\\d\\d\\/\\d\\d\\d\\d");

    if (x == false) {
        //JOptionPane.showMessageDialog(rootPane, "Enter a valid serviceNO");
        System.out.println("NO");
        //return false;
    } else {
        System.out.println("YES");
        //return true;
    }

}

}

最佳答案

正则表达式:

^UWU\/(CST|IIT)\/\d{2}\/\d{4,}$



确保以UWU开头
确保第二部分是CSTIIT
确保第三部分正好包含2个数字\d{2}
确保最后一部分包含4个或更多数字\d{4,}


Regex 101 Demo

希望这可以帮助!

10-05 20:30