(Q) 사용자가 입력한 닉네임이 다음 규칙에 맞는지 검사하도록 코드를 작성하시오
- 닉네임은 한글 또는 숫자로만 작성되어야 한다
- 닉네임은 2글자 이상 10글자 이하로 작성되어야 한다
- ㅋㅋㅋ, ㅡㅡ와 같은 자음 모음만 있는 경우는 불가능하다
- 문자열을 검사하기 위한 식(도우미 사이트 : regexper)
- 주요 명령
- ^ : 문자열의 시작지점
- $ : 문자열의 종료지점
- [abc] : a, b, c중 하나(one of)
- [a-c] : a부터 c 사이의 글자 중 하나(범위표시)
- [a-c]{5} : a부터 c사이의 글자 중 하나가 5번 반복
- [a-c]{3,5} : a부터 c사이의 글자 중 하나가 3에서 5번 반복
정규 표현식 시각화

- One of : 1회 실행을 의미한다
- 1...9 times : 1회에서 9회 사이의 횟수 반복을 의미한다
- 첫 번째 One of는 '한글 또는 숫자로만 작성되어야 한다'를 의미한다
- 첫 번째 One of를 제외하면 첫 번째 과정을 1회에서 9회 사이의 횟수만큼 반복하면 된다
메인 메소드
package day14_regex;
import java.util.Scanner;
import java.util.regex.Pattern;
public class Test03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 닉네임 생성 규칙의 정규 표현식
String regex = "^[가-힣0-9]{2,10}$";
// 사용자 입력 닉네임
String user = sc.next();
// 판정
boolean check = Pattern.matches(regex, user);
// 출력
if(check) {
System.out.println("해당 닉네임 사용 가능");
}
else {
System.out.println("해당 닉네임 사용 불가능");
}
}
}