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

Java 정규식(RegEx)으로 입력의 끝을 일치시키는 방법

Java 정규 표현식에서는 메타 문자 \z를 사용하여 입력의 끝을 일치시킬 수 있습니다. 이 메타 문자는 전체 입력 시퀀스의 가장 마지막 위치에만 대응하기 때문에, 문자열이 특정 패턴으로 끝나는지 검사할 때 매우 유용합니다.

참고로 $는 줄바꿈 직전까지도 일치할 수 있는 반면, \z는 오직 입력의 최종 끝에만 일치한다는 차이가 있습니다.

예제 코드

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 = "[0-9]\\z";
        // 정규 표현식 컴파일
        Pattern pattern = Pattern.compile(regex);
        // Matcher 객체 생성
        Matcher matcher = pattern.matcher(input);
        int count = 0;
        if(matcher.find()) {
            System.out.println("일치하는 항목을 찾았습니다");
        } else {
            System.out.println("일치하는 항목이 없습니다");
        }
    }
}

위 예제의 정규식 [0-9]\z는 입력 문자열이 숫자(0~9)로 끝나는지 확인합니다.

실행 결과 1

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

입력된 문자열이 숫자로 끝나지 않으므로 일치하지 않습니다.

실행 결과 2

문자열을 입력하세요
sample text 23
일치하는 항목을 찾았습니다

입력된 문자열이 숫자 '3'으로 끝나므로 정규식과 일치함을 확인할 수 있습니다.