English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 정규 표현식(RegEx)을 사용하여 숫자를 매칭하는 방법?

원자 문자 " \\ d 문자열에서 숫자를 매칭하기 위해 다음 표현식을 사용할 수 있습니다: 

[0-9]

예제1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String args[]) {
      //from user read string
      System.out.println("문자열 입력:");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "\\d";
      //정규 표현식 컴파일
      Pattern pattern = Pattern.compile(regex);
      //검색 매치러 대상 객체
      Matcher matcher = pattern.matcher(input);
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      System.out.println("자릿수 개수: ");+count);
   }
}

출력 결과

문자열 입력:
sample text 1234 6657
자릿수 개수: 8

예제2

import java.util.Scanner;
public class RegexExample {
   public static void main( String args[] ) {
      //수락10자릿수 정규 표현식
      String regex = "\\d{10";
      System.out.println("input 값 입력: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      boolean result = input.matches(regex);
      if(result) {
         System.out.println("10 digit number
      } else {
         System.out.println("wrong input");
      }
   }
}

출력1

input 값 입력:
9848022558
10 digit number

출력2

input 값 입력:
5337
wrong input
추천 합니다