문자열 패턴을 제한적으로 검사하고 추출합니다.
Pattern은 정규식을 컴파일하고 Matcher는 특정 입력에서 검색합니다. matches는 전체 일치, find는 부분 검색을 반복합니다. Java 문자열 안에서는 역슬래시를 한 번 더 이스케이프합니다.
예제에서 Pattern.compile("^[a-z][a-z0-9_]+$") 부분부터 찾으세요. 선언 타입, 실제 객체와 반환값을 한 줄씩 따라가면서 컴파일 단계에서 잡히는 문제와 실행 중 생기는 문제를 구분하세요.
반복 사용하는 패턴은 static final로 한 번 컴파일합니다. 복잡한 형식은 여러 검증 단계나 전용 파서를 사용합니다.
사용자 제공 정규식과 과도한 backtracking 패턴은 CPU를 오래 사용할 수 있어 패턴과 입력 길이를 제한합니다.
현재 코드를 먼저 실행해 출력과 타입 흐름을 확인한 뒤 사용자 이름 길이를 3~12자로 제한하세요.
Java 문자열의 \d를 정규식에 전달하려면 "\\d"처럼 작성해야 합니다.
직접 바꿔보세요사용자 이름 길이를 3~12자로 제한하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.