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

Cách đối sánh một chuỗi bất kể trường hợp bằng cách sử dụng Java regex.

Phương thức biên dịch của lớp mẫu chấp nhận hai tham số -

  • Giá trị chuỗi đại diện cho biểu thức chính quy.
  • Một giá trị số nguyên cho một trường của lớp Mẫu.

Trường CASE_INSENSITIVE này của lớp Mẫu khớp với các ký tự không phân biệt chữ hoa và chữ thường. Do đó, nếu bạn chuyển dưới dạng giá trị cờ cho phương thức compile () cùng với biểu thức chính quy của mình, các ký tự của cả hai trường hợp sẽ được đối sánh.

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[] ) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input data: ");
      String input = sc.nextLine();
      //Regular expression to find the required character
      String regex = "test";
      //Compiling the regular expression
      Pattern pattern = Pattern.compile(regex);//, Pattern.CASE_INSENSITIVE);
      //Retrieving the matcher object
      Matcher matcher = pattern.matcher(input);
      int count =0;
      while (matcher.find()) {
         count++;
      }
      System.out.println("Number of occurrences: "+count);
   }
}

Đầu ra

Enter input data:
test TEST Test sample data
Number of occurrences: 3

Ví dụ 2

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class VerifyBoolean {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter a string value: ");
      String str = sc.next();
      Pattern pattern = Pattern.compile("true|false", Pattern.CASE_INSENSITIVE);
      Matcher matcher = pattern.matcher(str);
      if(matcher.matches()){
         System.out.println("Given string is a boolean type");
      } else {
         System.out.println("Given string is not a boolean type");
      }
   }
}

Đầu ra

Enter a string value:
TRUE
Given string is a boolean type