Biểu thức chính quy là một chuỗi ký tự đặc biệt giúp bạn so khớp hoặc tìm các chuỗi hoặc tập hợp chuỗi khác, sử dụng cú pháp chuyên biệt được tổ chức trong một mẫu.
Các nhóm nắm bắt trong biểu thức chính quy được sử dụng để coi nhiều ký tự như một đơn vị duy nhất mà nó được biểu thị bằng “()”. tức là nếu bạn đặt nhiều mẫu con trong một parathesis chúng được coi là một nhóm.
Ví dụ:mẫu [0-9] khớp với các chữ số từ 0 đến 9 và mẫu {5} khớp với bất kỳ ký tự nào. Nếu bạn nhóm hai nhóm này thành ([0-9] {5}) , nó khớp với một số có 5 chữ số.
Ví dụ
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class COMMENTES_Example { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter your name: "); String name = sc.nextLine(); System.out.println("Enter your Date of birth: "); String dob = sc.nextLine(); //Regular expression to accept date in MM-DD-YYY format String regex = "^(1[0-2]|0[1-9])/ # For Month\n" + "(3[01]|[12][0-9]|0[1-9])/ # For Date\n" + "[0-9]{4}$ # For Year"; //Creating a Pattern object Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS); //Creating a Matcher object Matcher matcher = pattern.matcher(dob); boolean result = matcher.matches(); if(result) { System.out.println("Given date of birth is valid"); }else { System.out.println("Given date of birth is not valid"); } } }
Đầu ra
Enter your name: Krishna Enter your Date of birth: 09/26/1989 Given date of birth is valid
Ví dụ
import java.util.regex.Matcher; import java.util.regex.Pattern; public class GroupTest { public static void main(String[] args) { String regex = "(.*)(\\d+)(.*)"; String input = "This is a sample Text, 1234, with numbers in between."; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); if(matcher.find()) { System.out.println("match: "+matcher.group(0)); System.out.println("First group match: "+matcher.group(1)); System.out.println("Second group match: "+matcher.group(2)); System.out.println("Third group match: "+matcher.group(3)); } } }
Đầu ra
match: This is a sample Text, 1234, with numbers in between. First group match: This is a sample Text, 123 Second group match: 4 Third group match: , with numbers in between.