정규표현식이란 문자열에서 특정 패턴을 만족하는 부분을 찾기 위해 사용된다. 모든 정규표현식을 외우기는 어려우니 아래 사이트를 참고하자.
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자 이상