욕심 많은 수량자는 기본 수량자입니다. 욕심 많은 수량자는 입력 문자열(가능한 가장 긴 일치)에서 최대한 일치합니다. 일치가 발생하지 않으면 마지막 문자를 남기고 다시 일치합니다. 다음은 욕심 많은 수량자의 목록입니다 -
수량자 | 설명 |
---|---|
재* | 0개 이상의 항목과 일치합니다. |
또? | 0 또는 1회 발생과 일치합니다. |
재+ | 하나 이상의 항목과 일치합니다. |
재{n} | 정확히 n번 일치합니다. |
다시{n, } | 최소 n번 이상 일치합니다. |
다시{n, m} | 적어도 n번에서 최대 m번까지 일치합니다. |
예시
다음 Java 예제에서 우리는 1개 이상의 숫자를 일치시키려고 합니다. 입력 문자열은 45545이지만 값 4, 45, 455 등은 적합합니다. greedy 수량자를 사용하고 있기 때문에 가능한 가장 긴 것과 일치하기 때문입니다.
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); System.out.println(“”Matched text: ); while (matcher.find()) { System.out.println(matcher.group()); } } }
출력
Enter input text: Matched text: 45545