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

Lớp ký tự:Phủ định - Biểu thức chính quy 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 "[]", biểu thức con này khớp với một ký tự duy nhất 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]" đối sánh với một ký tự đơn lẻ từ a đến z.

Tương tự, biến thể phủ định của lớp ký tự được định nghĩa là "[^]" (với ^ trong dấu ngoặc vuông), nó khớp với một ký tự đơn lẻ không có trong nhóm ký tự được chỉ định hoặc có thể có.

Ví dụ:biểu thức chính quy [^ abc] khớp với một ký tự duy nhất ngoại trừ a hoặc, b hoặc, c. Tương tự, "[^ a-z]" khớp với một ký tự ngoại trừ các bảng chữ cái 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 = "[^aeiou]";
      //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-vowel characters : "+count);
   }
}

Đầu ra

Enter input text:
sample data
Number of non-vowel characters : 7