Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java 정규식(Regex)으로 입력의 시작 부분 일치시키는 방법 – '\A' 메타 문자 활용

Java 정규식에서는 메타 문자 "\A"를 사용하여 입력 문자열의 시작 부분과 일치시킬 수 있습니다. 이 메타 문자는 전체 입력의 맨 앞에서만 패턴을 검사하므로, 문자열이 특정 형식으로 시작하는지 확인할 때 유용합니다.

참고로 \A는 줄바꿈과 상관없이 항상 전체 입력의 시작만 가리키며, 여러 줄 모드(MULTILINE)에서도 동작이 변하지 않는다는 점에서 ^와 차이가 있습니다.

예제 코드

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
    public static void main(String args[]) {
        // 사용자로부터 문자열 입력받기
        System.out.println("문자열을 입력하세요");
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        String regex = "\\A[0-9]";
        // 정규식 컴파일
        Pattern pattern = Pattern.compile(regex);
        // Matcher 객체 생성
        Matcher matcher = pattern.matcher(input);
        if(matcher.find()) {
            System.out.println("일치하는 항목이 있습니다");
        } else {
            System.out.println("일치하는 항목이 없습니다");
        }
    }
}

위 예제에서 정규식 "\\A[0-9]"는 입력 문자열의 첫 번째 문자가 숫자(0~9)인지 검사합니다.

실행 결과 1

문자열을 입력하세요
12 sample text
일치하는 항목이 있습니다

입력이 숫자 '1'로 시작하므로 패턴과 일치합니다.

실행 결과 2

문자열을 입력하세요
sample text
일치하는 항목이 없습니다

입력이 알파벳 's'로 시작하므로 패턴과 일치하지 않습니다.