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

Cách đối sánh một loạt các ký tự bằng cách sử dụng Java regex

Để so khớp một dải ký tự, tức là để khớp tất cả các ký tự giữa hai ký tự được chỉ định trong một trình tự, bạn có thể sử dụng lớp ký tự là

[a-z]
  • Biểu thức “ [a-zA-Z] ”Chấp nhận bất kỳ bảng chữ cái tiếng Anh nào.

  • Biểu thức “ [0-9 &&[^ 35]] ”Chấp nhận các số ngoại trừ 3 và 5.

Ví dụ 1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   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();
      String regex = "^[a-zA-Z0-9]*$";
      //Compiling the regular expression
      Pattern pattern = Pattern.compile(regex);
      //Retrieving the matcher object
      Matcher matcher = pattern.matcher(input);
      if(matcher.matches()) {
         System.out.println("Match occurred");
      } else {
         System.out.println("Match not occurred");
      }
   }
}

Đầu ra 1

Enter a String
Hello
Match occurred

Đầu ra 2

Enter a String
sample#
Match not occurred

Ví dụ 2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   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();
      String regex = "[0-9&&[^35]]";
      //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("Occurrences :"+count);
   }
}

Đầu ra

Enter a String
111223333555689
Occurrences :8