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

Java 정규식 문자 클래스 \p{javaLowerCase} 사용법과 예제


정규식 문자 클래스 \p{javaLowerCase}는 소문자와 일치하는 문자 클래스입니다. 이 클래스는 해당 문자를 java.lang.Character 클래스의 isLowerCase() 메서드에 인수로 전달했을 때 true가 반환되는 모든 문자와 일치합니다.

예제 1

다음 예제는 사용자로부터 문자열을 입력받은 후, \p{javaLowerCase} 패턴을 적용하여 문자열 내 소문자의 개수를 세는 프로그램입니다.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
    public static void main(String args[]) {
        //Reading String from user
        System.out.println("Enter a string");
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        //Regular expression
        String regex = "[\\p{javaLowerCase}]";
        //Compiling the regular expression
        Pattern pattern = Pattern.compile(regex);
        //Retrieving the matcher object
        Matcher matcher = pattern.matcher(input);
        int count = 0;
        while(matcher.find()) {
            count++;
        }
        System.out.println("Number of lower case characters: "+count);
    }
}

출력 결과

Enter a string
This IS A sample TExt
Number of lower case characters: 11

예제 2

이번 예제에서는 5개의 문자열을 입력받아 그중 소문자로만 구성된 문자열을 찾아 출력합니다. 여기서 사용한 정규식 ^\p{javaLowerCase}+$는 문자열의 시작(^)부터 끝($)까지 모든 문자가 소문자일 때만 일치하므로, 대소문자가 섞여 있거나 특수 문자가 포함된 문자열은 제외됩니다.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
    public static void main( String args[] ) {
        //Regular expression to match lower case letters
        String regex = "^\\p{javaLowerCase}+$";
        //Getting the input data
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter 5 input strings: ");
        String input[] = new String[5];
        for (int i=0; i<5; i++) {
            input[i] = sc.nextLine();
        }
        //Creating a Pattern object
        Pattern p = Pattern.compile(regex);
        System.out.println("Strings with only lower case characters: ");
        for(int i=0; i<5;i++) {
            //Creating a Matcher object
            Matcher m = p.matcher(input[i]);
            if(m.matches()) {
                System.out.println(m.group());
            }
        }
    }
}

출력 결과

Enter 5 input strings:
Raju
RAMU
rahman
radha
SUnDar*
Strings with only lower case characters:
rahman
radha