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

Cách khớp bất kỳ ký tự nào bằng Java RegEx

Ký tự meta “.” trong java biểu thức chính quy khớp với bất kỳ ký tự nào (đơn), nó có thể là bảng chữ cái, số hoặc bất kỳ ký tự đặc biệt nào.

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();
      //Regular expression to match any character
      String regex = ".";
      //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("Given string contains "+count+" characters.");
   }
}

Đầu ra

Enter a String
hello how are you welcome to tutorialspoint
Given string contains 42 characters.

Bạn có thể so khớp 3 ký tự bất kỳ giữa a và b bằng cách sử dụng biểu thức chính quy sau -

a…b

Tương tự, biểu thức “. *” Khớp với n số ký tự.

Ví dụ 2

Chương trình Java sau đây đọc 5 chuỗi từ người dùng và chấp nhận những chuỗi bắt đầu bằng b, kết thúc bằng a với bất kỳ số ký tự nào ở giữa chúng.

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main( String args[] ) {
      String regex = "^b.*a$";
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter 5 input strings: ");
      String input[] = new String[5];
      for (int i=0; i<5; i++) {
         input[i] = sc.nextLine();
      }
      //Creating a Pattern object
      Pattern p = Pattern.compile(regex);
      for(int i=0; i<5;i++) {
         //Creating a Matcher object
         Matcher m = p.matcher(input[i]);
         if(m.find()) {
            System.out.println(input[i]+": accepted");
         } else {
            System.out.println(input[i]+": not accepted");
         }
      }
   }
}

Đầu ra

Enter 5 input strings:
barbara
boolean
baroda
ram
raju
barbara: accepted
boolean: not accepted
baroda: accepted
ram: not accepted
raju: not accepted