[TIL] Java (Regex)
Regex란?
Regular Expression으로 특정 패턴을 찾아서, 문자를 찾거나 교체를 할 수 있다
- 예를 들어, 전화번호 형태로 입력을 안 하면, 뒤로 못 넘어갈 수 있도록 만들 수 있다
- 또는 한국어로만 입력이 가능하게 설정을 할 수 있다
Regex는 java.util.regex.* 를 통해서 사용이 가능하다
클래스
- Pattern Class : 문자를 찾을 때에, 특청 패턴을 정의한다
- Matcher Class : 패턴을 찾을 때에 사용한다
- PatternSyntaxException Class : 정규식 (Regular Expression)에 에러를 보여준다
예시
if (Pattern.matches("^[ㄱ-ㅎ가-힣]*$", candidateName) == true) {
if (조건문 1) {
코드 실행1;
}
} else {
코드 실행2;
}
- Pattern.matches("^[ㄱ-ㅎ가-힣]*$", candidateName)
- "^[ㄱ-ㅎ가-힣]*$" : candidateName에 대한 입력값이 한글이 아닐 때에는 false를 반환한다
자주 사용하는 정규 표현식
Regular Expression | 설명 |
---|---|
^[0-9]*$ |
숫자 |
^[a-zA-Z]*$ |
영문자 |
^[가-힣]*$ |
한글 |
\\w+@\\w+\\.\\w+(\\.\\w+)? |
|
^\d{2,3}-\d{3,4}-\d{4}$ |
전화번호 |
^01(?:0 |
1 |
\d{6} \- [1-4]\d{6} |
주민등록번호 |
^\d{3}-\d{2}$ |
우편번호 |
^ : 문자열 시작
$ : 문자열 종
| : 각 패턴을 찾는 것 (예. cat|dog|mouse => 문자열에 cat 또는 dog 또는 mouse가 있는지 찾아준다)
. : 하나의 캐릭터를 찾는 것
[] : 괄호 사이에는 문자의 집합이나 범위가 들어간다. 범위는
-
를 통해서 나타내고,^
가 있으면 not 이다{} : 괄호 사이에 숫자가 들어오는데, 범위 또는 횟수를 나타낸다
() : 안에 문자를 하나의 문자로 인식한다
\d : 숫자 찾기
\D : 숫자를 제외한 모든 문자
\s : 빈 공간 찾기
\S : 공백이 아닌 것
\w : 알파벳이나 숫자
\W : 알파벳이나 숫자가 아닌 모든 것
'Skill Stacks > Java' 카테고리의 다른 글
[TIL] Java (진수 변환) (0) | 2023.06.24 |
---|---|
[TIL] Java (Split, Join) (0) | 2023.06.23 |
[TIL] Java (Scanner) (0) | 2023.06.11 |
[TIL] Java (LocalDate) (0) | 2023.06.08 |
[TIL] Java (random number) (0) | 2023.06.07 |