Regular Expression(정규 표현식)
- 필요로 하는 문자열의 형식을 지정해서 그 내용으로만 데이터가 입력되는 것을 check 하기 위해 사용
ex) 010 - 2243 - 4333 - API: java.util.regex.Pattern 클래스를 찾아 활용
ex) 010 - 2243 - 4333
주요 기호와 내용
- []: 해당 한 개의 문자만 허용
ex) [abc]: a, b, c 중 하나의 문자- [^abc]: a, b, c 이외의 하나의 문자
- [a-zA-Z]: a~z, A~Z 중 하나의 문자
- [0-9]: 0부터 9까지 하나의 문자
- \d: 한개의 숫자[0-9]와 동일
- \s: 공백 처리 필요
- \w: 한개의 알파벳 또는 한개의 숫자
[a-zA-Z0-9]와 동일
- ? : 없음 또는 한 개
- * : 없음 또는 한 개 이상
- + : 한 개 이상
- {n} : 정확히 n 개
- {.n} : 최소한 n 개
- {n,m}: 최소 n, 최대 m
ex) [abc]: a, b, c 중 하나의 문자
- [^abc]: a, b, c 이외의 하나의 문자
- [a-zA-Z]: a~z, A~Z 중 하나의 문자
- [0-9]: 0부터 9까지 하나의 문자
- \s: 공백 처리 필요
- \w: 한개의 알파벳 또는 한개의 숫자
[a-zA-Z0-9]와 동일
- * : 없음 또는 한 개 이상
- + : 한 개 이상
- {.n} : 최소한 n 개
- {n,m}: 최소 n, 최대 m
정규표현식 예제
- 전화번호
02-223- 2222, 010-2433-4333
- 02 또는 010이 나와야 한다
(02|010) - ' - ' 포함
- 숫자로 \d 3자리 내지 4자리 {3,4}
- \d{3,4}
- ' - ' 포함
- 숫자로 \d 4자리 {4}
전화번호에 대한 정규식 표현
(02|010)-\d{3,4}-\d{4}
- 이메일
white@naver.com
- 한개 이상의 알파벳 또는 숫자
\w+ - @
- 한개 이상의 알파벳 또는 숫자
\w+ - \.
\.는 문자의 점(.)이고, .범위가 모든 문자중 한 개의 문자 - 한개 이상의 알파벳 또는 숫자
\w+
이메일에 대한 정규 표현식
\w+@\w+\.w+
정규식 처리 클래스
- java.util.regex.Pattern 클래스의 정적 메서드 matches() 활용
ex) boolean result= Pattern.matches("지정한 정규식", "검증할 문자열");
ex) boolean result= Pattern.matches("지정한 정규식", "검증할 문자열");
'programming > java' 카테고리의 다른 글
[java]JVM 구조 (1) | 2017.12.02 |
---|---|
JIT(just-in-time) 컴파일 (0) | 2017.12.01 |
[java] StringBuilder, StringBuffer의 차이 (0) | 2017.06.01 |
[java]thread (0) | 2017.06.01 |
[java] Collection (2) | 2017.05.15 |