Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

문자 클래스:범위 - Java 정규식

<시간/>

Java 정규식의 문자 클래스는 대괄호 "[ ]"를 사용하여 정의되며, 이 하위 표현식은 지정된 또는 가능한 문자 집합의 단일 문자와 일치합니다. 예를 들어, 정규식 [abc]는 단일 문자 a 또는, b 또는 c와 일치합니다.

문자 클래스의 범위 변형을 사용하면 문자 범위를 사용할 수 있습니다. 즉, 표현식 [a-z]는 알파벳 a에서 z까지의 단일 문자와 일치하고 [^A-Z] 표현식은 대문자가 아닌 문자와 일치합니다.

예시 1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample1 {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      String regex = "[a-z]";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      int count =0;
      while (matcher.find()) {
         count++;
      }
      System.out.println("Number characters from the range (a-z): "+count);
   }
}

출력

Enter input text:
sample data 5423 #@ %*&
Number characters from the range (a-z): 10

예시 2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample3 {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      String regex = "[^A-Z]";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      int count =0;
      if (matcher.find()) {
         System.out.println("match occurred");
      } else {
         System.out.println("match not occurred");
      }
   }
}

출력 1

Enter input text:
sample data
match occurred

출력 2

Enter input text:
SAMPLEDATA
match not occurred