안녕하세요. 제임스 입니다.
앞서 정규표현식 (Regular Expression) 에 대해 간단히 정리 했었습니다.
이번에는 정규표현식 중 숫자만 허용 하는 표현식을 알아 보겠습니다.
■ 정규표현식 숫자만 허용하기
1 | String regExp = "^[0-9]+$"; | cs |
위와 같이 정규표현식을 작성 했습니다.
^ => 문자열의 시작
[...] => 문자의 집합, 두 문자 사이에 - 기호를 이용하여 범위를 지정 [0-9] 와 같이 입력하여 0 ~ 9 를 표현
+ => 앞에 문자가 최소 한개이상 있음, 여기서는 0 ~ 9 사이의 숫자의 갯수 제한이 없음을 의미
$ => 문자열 종료
다시 정리 하면 아래와 같습니다.
^[0-9]+$
문자열 시작
[0 ~ 9 까지 숫자 인정]
0 ~ 9 까지 숫자 갯수 제한 없음
문자열 종료
위 표현식이 정말 숫자만 허용 하는지 확인 해보겠습니다.
1 2 3 4 5 6 7 | String testStr1 = "12345"; if(testStr1.matches(regExp)){ System.out.println("testStr1 ==> 숫자만 입력 됨"); }else { System.out.println("testStr1 ==> 숫자 외 다른 문자도 입력 됨"); } | cs |
testStr1 이라는 변수에 숫자만 1 ~ 5 까지 나열 되어 있습니다.
그냥 봐도 숫자만 입력 된 것이 맞죠? ^^
결과는 아래와 같습니다.
testStr1 ==> 숫자만 입력 됨
1 2 3 4 5 6 7 | String testStr2 = "1T2E3S4T5"; if(testStr2.matches(regExp)){ System.out.println("testStr2 ==> 숫자만 입력 됨"); }else { System.out.println("testStr2 ==> 숫자 외 다른 문자도 입력 됨"); } | cs |
testStr2 이라는 변수에는 숫자와 문자의 조합인 값이 들어 있습니다.
결과는 아래와 같습니다.
testStr2 ==> 숫자 외 다른 문자도 입력 됨
1 2 3 4 5 6 7 | String testStr3 = ""; if(testStr3.matches(regExp)){ System.out.println("testStr3 ==> 숫자만 입력 됨"); }else { System.out.println("testStr3 ==> 숫자 외 다른 문자도 입력 됨"); } | cs |
testStr3 이라는 변수는 빈 값으로 설정 했습니다.
결과는 아래와 같습니다.
testStr3 ==> 숫자 외 다른 문자도 입력 됨
■ 정규표현식 숫자와 공백 허용하기
위 세번째 예제를 사용한 이유는 숫자만 허용하는 표현식을 많이 사용 하기도 하지만 더 많이 사용 하는 것이 숫자와 빈값을 인정하는 표현식을 더 많이 사용하기 때문입니다.
앞선 숫자만 허용하는 표현식에서는 + 라는 표현식을 이용하여 선행 문자의 갯수를 1개 이상으로 지정 했었습니다. 하지만 이 표현식을 * 로 변경할 경우 선행 문자의 갯수가 0개 이상으로 지정 할 수 있습니다.
예제를 보시겠습니다.
1 2 3 4 5 6 7 | String regExp2 = "^[0-9]*$"; String testStr4 = ""; if(testStr4.matches(regExp2)){ System.out.println("testStr4 ==> 숫자만 입력 됨"); }else { System.out.println("testStr4 ==> 숫자 외 다른 문자도 입력 됨"); } | cs |
regExp2 변수는 0 ~ 9 사이의 숫자가 0개 이상인 것으로 지정 했습니다.
결과는 아래와 같습니다.
testStr4 ==> 숫자만 입력 됨
▼ 도움이 되셨다면 로그인이 필요 없는 ▼
▼ 하트 클릭 한번 부탁 드립니다 ▼
감사합니다 :D
'Java' 카테고리의 다른 글
[ 자바 코딩 ] Regular Expression 정규표현식 - 파일 확장자 (9) | 2018.06.15 |
---|---|
[ 자바 코딩 ] Regular Expression 정규표현식 - 영문자만 허용하기 (15) | 2018.06.12 |
[ 자바 코딩 ] Regular Expression 정규표현식 기본 (11) | 2018.05.25 |
[ 자바 코딩 ] Java Character - toLowerCase() 함수 (7) | 2018.04.26 |
[ 자바 코딩 ] Java Character - toUpperCase() 함수 (5) | 2018.04.25 |