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

Giải thích các định lượng trong biểu thức chính quy Java

Nếu bạn muốn chỉ định số lần xuất hiện trong khi xây dựng một biểu thức chính quy, bạn có thể sử dụng bộ định lượng. Bảng sau liệt kê các định lượng được hỗ trợ bởi các biểu thức chính quy Java -

Bộ định lượng Mô tả Ví dụ
lại * không hoặc nhiều lần xuất hiện.
[0-9] *:khớp với 0 hoặc nhiều chữ số.
lại? Một hoặc, không có sự xuất hiện nào cả.
[0-9] ?:khớp với 0 hoặc 1 chữ số.
lại + một hoặc nhiều lần xuất hiện.
[0-9] +:khớp với một hoặc nhiều chữ số.
lại {n} n lần xuất hiện.
[0-9] {3}:khớp với 3 chữ số.
lại {n,} ít nhất n lần xuất hiện.
[0-9] {3,}:khớp với ít nhất 3 chữ số.
lại {n, m} ít nhất n và nhiều nhất m lần xuất hiện.
[0-9] {2, 5}:khớp nếu đầu vào đã cho là một số có 3 đến 5 chữ số.

Ví dụ

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main( String args[] ) {
      String regex = "[0-9]{3,6}";
      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);
      System.out.println("Matched values: ");
      for(int i=0; i<5;i++) {
         //Creating a Matcher object
         Matcher m = p.matcher(input[i]);
         if(m.matches()) {
            System.out.println(m.group()+": accepted ");
         }
      }
   }
}

Đầu ra

Enter 5 input strings:
12
154
4587
478365
4578952
Matched values:
154: accepted
4587: accepted
478365: accepted