^\d.*
숫자로 시작하는가 확인
^ : 행의 맨 처음을 의미
\d : 0~9까지의 아라비아 숫자 1자를 의미
.* : 모든 문자를 의미. 즉 임의의 갯수의 글자들
true
false
.*\d$
숫자로 끝나는가 확인
^$: 행의 맨 끝을 의미
true
false
^\d+$
모두 숫자로 이루어졌는가 확인
^ : 행의 첫부분
\d : 0~9까지의 숫자
+ : 바로 앞의 글자 (여기서는 숫자)가 1개나 1개 이상 있음. (즉 숫자가 최소한 1개 있음)
$ : 행의 마지막 부분
true
true
false
^[+-]?\d*(\.?\d*)$
정수, 실수, +, -, 소수점 확인
^ : 행의 첫부분
[+-]? : 앞에 플러스 또는 마이너스 기호가, 없거나 1개 있다는 조건
\d* : 아라비아 숫자가 0이상의 개수로 있다는 조건. 즉 숫자가 없거나 여러 개 있음. 정수부의 0이 생략되어 0.123 이 .123으로 표현될 경우를 고려한 것입니다. 단 이때는 숫자가 아닌 마침표(.) 하나도 숫자로 간주되어 버리는 문제가 있습니다. 프로그래밍에서의 정규식에서는 이 문제를 걸러 주어야 할 것입니다.
(\.?\d*) : 소수부 처리 부분입니다. \.? 는 소수점이 없거나 1개 있다는 조건이고, \d* 는 0개 이상의 아라비아 숫자가 있다는 조건입니다. 소수점인 마침표(.)를, 정규식에서 "임의의 문자 1개"를 의미하는 마침표(.)와 구분하기 위해 앞에 백슬래쉬(\)를 붙였습니다. 또한 소괄호로 둘러싸서 소수부 처리 부분을 한묶음으로 만들었습니다.
$ : 행의 마지막
true
true
true
true
true
true
true
false
false
'정규식' 카테고리의 다른 글
JAVA 정규식 기본 (0) | 2016.07.18 |
---|---|
정규식 정복기 1 (0) | 2012.08.02 |