욕심 많은 수량자는 기본 수량자입니다. 욕심 많은 수량자는 입력 문자열에서 최대한 일치합니다(가장 긴 일치). 일치하지 않으면 마지막 문자를 남기고 다시 일치합니다.
소유 한정사는 greedy 한정사와 비슷하지만 초기에 가능한 한 많은 문자를 일치시키려고 하며 greedy 한정사와 달리 일치하지 않으면 역추적하지 않는다는 점만 다릅니다.
greedy 한정사 뒤에 "+"를 붙이면 소유 한정사가 됩니다. 다음은 소유 수량사의 목록입니다 -
| 한정자 | 설명 |
|---|---|
| 재*+ | 0개 이상의 항목과 일치합니다. |
| 다시?+ | 0 또는 1회 발생과 일치합니다. |
| 재++ | 하나 이상의 항목과 일치합니다. |
| 재{n}+ | 정확히 n번 일치합니다. |
| 재{n, m}+ | 적어도 n번에서 최대 m번까지 일치합니다. |
예
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();
}
}
} 출력
Enter input text: 45678 45678