Regular Expression
정규표현식
정규표현식(Regular Expression)은 문자열에 나타나는 특정 패턴을 검사하기 위한 식이다. 식을 정확하게 작성하면 간단한 프로그래밍 코드만으로 복잡한 패턴의 문자열을 검사할 수 있다.
주로 검사하는 항목들은 다음과 같다.
아이디
비밀번호
이메일
전화번호
주소
우편번호
카드번호
IP주소
홈페이지 주소
이밖에도 원하는 항목들을 식을 만들어 검사할 수 있으며, 홈페이지에서는 대부분의 입력창 검사를 정규표현식으로 하므로 언어 종류와 상관없이 공용으로 사용할 수 있는 정규표현식을 배우는 것이 좋다.
참고 사이트
정규표현식을 배울 때 유용한 사이트들은 다음과 같다.
시각화 사이트 : https://regexper.com/
패턴 탐색 사이트 : https://regexr.com/
주요 정규표현식 기호
정규표현식에 사용되는 기호들은 다음과 같다.
시작과 종료
기호
설명
^
검사식의 시작지점
$
검사식의 종료지점
글자 표시
기호
설명
abc
abc
라는 문자열이 등장한다
[abc]
a
, b
, c
중 하나의 글자가 등장한다
[a-c]
a부터 c
사이의 글자가 하나 등장한다
[^abc]
a
, b
, c
를 제외한 하나의 글자가 등장한다
(ab|bc)
ab
또는 bc
중 하나의 글자가 등장한다(OR)
횟수 표시
기호
설명
a{5}
a
가 5번
나온다
a{5,}
a
가 5번
이상 나온다
a{5,7}
a
가 5번
이상 7번
이하 나온다
(hello){5}
hello
가 5번
나온다(괄호로 묶어야 한다)
(hello|hi){5}
hello
또는 hi
가 5번
나온다
[a-z]+
a
부터 z
사이 중 하나의 글자가 1번 이상
나온다
[a-z]{1,}
a
부터 z
사이 중 하나의 글자가 1번 이상
나온다
[a-z]*
a
부터 z
사이 중 하나의 글자가 0번 이상
나온다
[a-z]?
a
부터 z
사이 중 하나의 글자가 0번
또는 1번
나온다
특수표시
기호
설명
\d
digit. [0-9]와 같다
\w
word. [A-Za-z0-9-_]와 같다.
\s
whitespace. 공백을 의미한다.
.
any character. 아무 글자나 1개를 의미한다.
정규표현식 예시
휴대 전화번호 - 1
![](https://docs.sysout.co.kr/~gitbook/image?url=https%3A%2F%2F4208234536-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-M_TNZwLuHV9ipYLbvRq%252F-MiyjECWBt-2HHhUSGeW%252F-MiyjfOmbfBGsW39WRWS%252Fimage.png%3Falt%3Dmedia%26token%3D34eb7883-9e8a-46e2-9cfa-52add3d74e17&width=768&dpr=4&quality=100&sign=3dfc8663&sv=2)
휴대전화번호 - 2
![](https://docs.sysout.co.kr/~gitbook/image?url=https%3A%2F%2F4208234536-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-M_TNZwLuHV9ipYLbvRq%252F-MiyjECWBt-2HHhUSGeW%252F-MiylCoBfzEy50ZgIem6%252Fimage.png%3Falt%3Dmedia%26token%3De1aa52bf-fc1a-4f7b-b3e3-983abc0e7ba0&width=768&dpr=4&quality=100&sign=526e828b&sv=2)
휴대전화번호 - 3
![](https://docs.sysout.co.kr/~gitbook/image?url=https%3A%2F%2F4208234536-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-M_TNZwLuHV9ipYLbvRq%252F-MiyjECWBt-2HHhUSGeW%252F-Miym1wrp5eFVujo4dVl%252Fimage.png%3Falt%3Dmedia%26token%3D0d5ce4f1-0853-433e-b935-bd5ec1bf79b0&width=768&dpr=4&quality=100&sign=e0f66080&sv=2)
휴대전화번호 - 4
()를 이용하여 복잡한 식을 하나의 그룹으로 표현한 뒤 반복하였다.
![](https://docs.sysout.co.kr/~gitbook/image?url=https%3A%2F%2F4208234536-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-legacy-files%2Fo%2Fassets%252F-M_TNZwLuHV9ipYLbvRq%252F-MiyjECWBt-2HHhUSGeW%252F-MiymracsvlVJdYBaL0A%252Fimage.png%3Falt%3Dmedia%26token%3Dc0498573-e706-4558-8b37-da4f8036b1b1&width=768&dpr=4&quality=100&sign=9e3a3d7&sv=2)
Last updated