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

Bộ định lượng sở hữu Java Biểu thức chính quy

Bộ định lượng tham lam là bộ định lượng mặc định. Một bộ định lượng tham lam khớp càng nhiều càng tốt từ chuỗi đầu vào (khớp dài nhất có thể) nếu không khớp xảy ra, nó sẽ để lại ký tự cuối cùng và khớp lại.

Một bộ định lượng sở hữu tương tự như một bộ định lượng tham lam, điểm khác biệt duy nhất là nó cố gắng khớp với nhiều ký tự nhất có thể ban đầu và nếu khớp không xảy ra không giống như bộ định lượng tham lam, nó sẽ không quay lại.

Nếu bạn đặt dấu "+" sau bộ định lượng tham lam, nó sẽ trở thành bộ định lượng sở hữu. Sau đây là danh sách các bộ định lượng sở hữu -

Bộ định lượng Mô tả
lại * + Đối sánh với số lần xuất hiện không hoặc nhiều hơn.
lại? + Đối sánh 0 hoặc 1 lần xuất hiện.
re ++ Đối sánh một hoặc nhiều lần xuất hiện.
lại {n} + Đối sánh chính xác n lần xuất hiện.
lại {n, m} + Đối sánh ít nhất n và nhiều nhất m lần xuất hiện.

Ví dụ

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter input text: ");
      String input = sc.nextLine();
      String regex = "[0-9]++";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(input);
      while (matcher.find()) {
         System.out.print(matcher.group());
         System.out.println();
      }
   }
}

Đầu ra

Enter input text:
45678
45678