JAVA/Regex

[JAVA/Regex] 문자열 유효성 패턴 검증

오늘도개발 2024. 10. 24. 15:57

 

- 조건 

 1. 문자열은 8 ~ 16자 까지만 가능

 

 2. 알파벳으로 시작

 

 3. 문자열은 알파벳 대소문자, _ , 숫자로 만 가능

 

- 해당 조건 검증 정규식

"^[a-zA-Z][a-zA-Z0-9_]{7,15}$"

 

정규식 설명:

  1. ^: 문자열의 시작
  2. [a-zA-Z]: 첫 번째 문자는 알파벳 대문자(A-Z) 또는 소문자(a-z) 중 하나
  3. [a-zA-Z0-9_]: 두 번째 문자부터는 알파벳 대소문자, 숫자(0-9), 또는 밑줄(_) 중 하나
  4. {7,29}: 이전 패턴( [a-zA-Z0-9_])이 7회 이상, 15회 이하 반복됨 ( 첫글짜 1이 포함되어 있으므로 )
  5. $: 문자열의 끝을 나타냅니다.

 

 - 전체 코드

 

public class Example {
    private static final Scanner scan = new Scanner(System.in);

    public static void main(String[] args) {
        int t = Integer.parseInt(scan.nextLine());

        for(int i = 0 ; i < t ;i++){
            System.out.println(scan.nextLine().matches( "^[a-zA-Z][a-zA-Z0-9_]{7,15}$") ? "Valid" : "Invalid");
        }
    }
}

 

 

 

실행 결과

 

'JAVA > Regex' 카테고리의 다른 글

[JAVA/Regex] 중복되는 영어 단어 제거  (0) 2024.10.24