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