Computer >> Máy Tính >  >> Lập trình >> Java

So khớp từ một tập hợp các ký tự Biểu thức regualr trong Java

Các lớp ký tự trong biểu thức chính quy Java được xác định bằng cách sử dụng dấu ngoặc vuông "[]", lớp ký tự khớp với một ký tự đơn từ tập hợp các ký tự có thể được chỉ định hoặc.

Ví dụ:biểu thức chính quy [abc] khớp với một ký tự a hoặc, b hoặc, c. Tương tự, "[a-z]" khớp với một ký tự từ a đến z.

Ví dụ 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 of characters from a to z: "+count);
   }
}

Đầu ra

Enter input text:
sample data 1234$
Number of characters from a to z: 10

Ví dụ 2

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 of non-alphabetic characters : "+count);
   }
}

Đầu ra

Enter input text:
sample data 1234$
Number of non-alphabetic characters : 7