@markdown
# Java 정규식 표현 정리
____
<pre><code class="java" style="font-size:14px">boolean flag = Pattern.matches("^[a-zA-Z0-9]*$", str);
</code></pre>
- 입력되는 문자, 숫자를 정해진 패턴만 입력하도록 할 수 있다.
## Java 정규식 문법
_____
- `^` : 문자열의 시작
- `$` : 문자열의 종료
- `.` : 임의의 한 문자 (문자의 종류와 관계없음)
- `|` : or의 의미임
- `?` : 앞 문자가 없거나 하나 있을때
- `+` : 앞 문자가 하나 이상임 (최소 한개 이상)
- `*` : 앞 문자가 없을 수도 있고, 무한정 많을 수도 있음
- `[ ]` : 문자 클래스의 지정, 문자의 집합이나 범위를 나태내면 `-` 기호를 사용한다. `[ ` 내에서 `^`를 사용하면 `not`의 의미임
- `{ }` : 횟수나 범위를 나타냄. 예를 들어 k{5}의 경우 k가 5번 반복되는 경우임, `a{3,5}`는 a가 3번 이상 5번 이하 반복되는 경우임
- `\w` : 알파벳이나 숫자
- `\W` : `\w`의 not. 즉 알파벳이나 숫자를 제외한 문자
- `\d` : `[0 - 9]`와 동일
- `\D` : 숫자를 제외한 모든 문자
## Java 정규식 표현
____
- 숫자만 : `^[0-9]*$`
- 영문자만 : `^[a-zA-Z]*$`
- 한글만 : `^[가-힣]*$`
- 영어 & 숫자만 : `^[a-zA-Z0-9]*$`
- E-Mail : `^[a-zA-Z0-9]+@[a-zA-Z0-9]+$`
- 휴대폰 : `^01(?:0|1|[6-9]) - (?:\d{3}|\d{4}) - \d{4}$`
- 일반전화 : `^\d{2,3} - \d{3,4} - \d{4}$`
- 주민등록번호 : `\d{6} \- [1-4]\d{6}`
- IP 주소 : `([0-9]{1,3}) \. ([0-9]{1,3}) \. ([0-9]{1,3}) \. ([0-9]{1,3})`
'Java' 카테고리의 다른 글
Java 문법 - hashCode(), 객체 복제 (0) | 2017.05.02 |
---|---|
Java 문법 - Inner 클래스, 예외처리 (0) | 2017.05.01 |
Java 문법 - 추상클래스, 인터페이스 (1) | 2017.04.28 |
Java 문법 - 접근제한자 활용 (0) | 2017.04.27 |
Java 문법 - 변수형, 연산자 (0) | 2017.04.26 |