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
^01[06789]-[0123456789][0123456789][0123456789][0123456789]-[0123456789][0123456789][0123456789][0123456789]$
휴대전화번호 - 2
^01[016-9]-[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$
휴대전화번호 - 3
^01[016-9]-[0-9]{4}-[0-9]{4}$
휴대전화번호 - 4
^01[016-9](-[0-9]{4}){2}$()를 이용하여 복잡한 식을 하나의 그룹으로 표현한 뒤 반복하였다.

Last updated