- 조건
1. 문자열은 8 ~ 16자 까지만 가능
2. 알파벳으로 시작
3. 문자열은 알파벳 대소문자, _ , 숫자로 만 가능
- 해당 조건 검증 정규식
"^[a-zA-Z][a-zA-Z0-9_]{7,15}$"
정규식 설명:
- ^: 문자열의 시작
- [a-zA-Z]: 첫 번째 문자는 알파벳 대문자(A-Z) 또는 소문자(a-z) 중 하나
- [a-zA-Z0-9_]: 두 번째 문자부터는 알파벳 대소문자, 숫자(0-9), 또는 밑줄(_) 중 하나
- {7,29}: 이전 패턴( [a-zA-Z0-9_])이 7회 이상, 15회 이하 반복됨 ( 첫글짜 1이 포함되어 있으므로 )
- $: 문자열의 끝을 나타냅니다.
- 전체 코드
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 |
---|