정규식을 구성하는 동안 발생 횟수를 지정하려면 수량자를 사용할 수 있습니다. 다음 표는 Java 정규식에서 지원하는 수량자를 나열합니다. -
한정자 | 설명 | 예 |
---|---|---|
재* | 0개 이상의 발생. | [0-9]*:0개 이상의 숫자와 일치합니다. |
또? | 하나 또는 전혀 발생하지 않습니다. | [0-9]?:0 또는 1자리와 일치합니다. |
재+ | 하나 이상의 발생. | [0-9]+:하나 이상의 숫자와 일치합니다. |
재{n} | n회 발생. | [0-9]{3}:3자리 숫자와 일치합니다. |
다시{n, } | 최소 n회 발생. | [0-9]{3, }:최소 3자리 숫자와 일치합니다. |
다시{n, m} | 최소 n회 및 최대 m회 발생. | [0-9]{2, 5}:주어진 입력이 3~5자리 숫자인 경우 일치합니다. |
예
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 "); } } } }
출력
Enter 5 input strings: 12 154 4587 478365 4578952 Matched values: 154: accepted 4587: accepted 478365: accepted