반응형
정규표현식이란?
정규 표현식 또는 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다.
즉, 단 한줄로 내가 원하는 문자열 패턴을 제작하여 찾는 식이다.
이 정규표현식을 진짜 잘 사용하면, 단 한줄로, 무궁무진한 패턴을 만들수 있다.
Java에서 정규표현식의 사용처
대표적인 메소드는 replaceAll() , matches() 이다.
replaceAll()은 해당 패턴을 치환해주는 메소드,
matches()는 해당 패턴이 일치하는지 확인하는 메소드다.
정규표현식의 문법
^ | 문자열의 시작 |
$ | 문자열의 끝 |
. | 임의의 한 문자 |
* | 문자가 0번 이상 발생 |
+ | 문자가 1번 이상 발생 |
? | 문자가 0번 혹은 1번 발생 |
[ ] | 문자의 집합 범위를 나타냄 [0-9] : 숫자 (0부터 9) [a-z] : 알파벳 (a부터 z) 앞에 ^가 나타나면 not을 의미 |
{ } | 횟수 또는 범위를 의미 |
( ) | 소괄호 안의 문자를 하나의 문자로 인식 |
| | or 조건 |
\ | 확장 문자의 시작 |
\b | 단어의 경계 |
\B | 단어가 아닌 것의 경계 |
\A | 입력의 시작부분 |
\G | 이전 매치의 끝 |
\Z | 입력의 끝이지만 종결자가 있는 경우 |
\z | 입력의 끝 |
\s | 공백문자 |
\S | 공백문자가 아닌 나머지 문자 |
\w | 알파벳이나 숫자 |
\W | 알파벳이나 숫자를 제외한 문자 |
\d | [0-9]와 동일 |
\D | 숫자를 제외한 모든 문자 |
이걸 적절하게 사용하면 이런 패턴을 작성할수가있다.
^[0-9]*$ | 숫자 |
^[a-zA-Z]*$ | 영문자 |
^[가-힣]*$ | 한글 |
\\w+@\\w+\\.\\w+(\\.\\w+)? | 이메일 주소 |
^\d{2,3}-\d{3,4}-\d{4}$ | 전화번호 |
^01(?:0|1|[6-9])-(?:\d{3}|\d{4})-\d{4}$ | 핸드폰 번호 |
\d{6} \- [1-4]\d{6} | 주민등록 번호 |
^\d{3}-\d{2}$ | 우편번호 |
반응형
'자바' 카테고리의 다른 글
[프로그래머스, 실무역량과제] API 서버 개발 (7) | 2023.04.12 |
---|---|
자주 쓰는 디자인 패턴 (행위 패턴) (0) | 2023.03.23 |
자주 쓰는 디자인 패턴 [구조 패턴] (0) | 2023.03.22 |
자주쓰는 디자인 패턴 총정리 (생성 패턴 편) (1) | 2023.03.21 |
JDK 11 vs JDK17 무엇이 업그레이드 되었을까? (0) | 2022.09.03 |