
정규표현식이란 문자열에서 특정 패턴을 만족하는 부분을 찾기 위해 사용된다. 모든 정규표현식을 외우기는 어려우니 아래 사이트를 참고하자.
mdn - 정규표현식
정규표현식 (Regex) 정리
점프 투 파이썬 - 정규표현식
정규표현식
정규식(microsoft)
| 패턴 | 내용 | 예시 |
|---|---|---|
| ^ | 문자열의 시작 | |
| $ | 문자열의 종료 | |
| (?=.* | or 조건문 | (?=.*[A-Za-z]) 대문자나 소문자 가능 |
| | | or | |
| . | 임의의 문자 | |
| .x | 문자열이 x 로 끝남 | |
| x+ | x 문자가 한번 이상 반복. {1,}과 같다. | |
| x? | 존재여부를 표현. x 문자가 있을 수도 없을 수도 있다. {0,1}과 같다. | |
| x* | 반복여부를 표현. x 문자가 0번 또는 그 이상 반복. {0,}과 같다. | |
| ?= | 앞쪽 문자열을 기준으로 그룹 조건을 만족하는 지 비교 | |
| (x) | 그룹을 표현하며 x 를 그룹으로 처리함을 의미한다. | |
| [xy] | x 와 y 중에 하나 | |
| [^xy] | x 및 y 를 제외한 문자 | |
| [x-z] | 두 문자의 범위. x ~ z 사이의 문자를 나타냄. | |
| \ | ^,*,?,+ 와 같은 문자를 그대로 처리 | x+y 와 x\+y 값이 같다 |
| \b | 문자와 공백 사이 | |
| \d | 숫자. [0-9]와 달리 아랍 문자, 페르시아 문자 등 다양한 숫자를 포괄한다. | |
| \D | 숫자가 아님 | |
| \s | 공백 | |
| \S | 공백이 아님 | |
| \w | 단어 영문자+숫자+_(밑줄) [0-9a-zA-Z_] | |
| {n} | 정확히 n번 반복할때 일치한다. | |
| {n,} | n번 이상 반복할때 일치한다. | |
| {n,m} | n번에서 m번 안으로 반복할때 일치한다. |
^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$
^[0-9a-zA-Z] - 0~9 사이 숫자 또는 a-z A-Z 사이 알파벳으로 시작 [-_\.]? - 중간에 -, _, . 같은 문자가 있을 수도 있고 없을 수도 있다.*@ - @ 가 반드시 존재한다.*\. - 반드시 . 이 존재한다. [a-zA-Z]{2,3} - a-z A-Z 사이 알파벳이 2~3개가 존재$ - 종료^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$
^01 - 시작을 숫자 01로 시작[0|1|6|7|8|9]? - 0,1,6,7,8,9 중의 숫자가 있을 수도 없을 수도 있다-? - 하이픈 하나가 있을 수도 없을 수도 있다[0-9]{3,4} - 숫자 3~4개가 존재[0-9]{4} - 숫자 4개가 존재$ - 종료^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$
?=.*[A-Za-z]- 최소 하나의 문자?=.*\d- 최소 하나의 숫자?=.*[$@$!%*#?&]- 최소 하나의 특수문자{8,}- 최소 8 자
^([A-Za-z0-9가-힣]{2,})+
[A-Za-z0-9가-힣]{2,}- 영어 대소문자, 숫자, 한글 2자 이상