Regular Expression

정규표현식

정규표현식(Regular Expression)은 문자열에 나타나는 특정 패턴을 검사하기 위한 식이다. 식을 정확하게 작성하면 간단한 프로그래밍 코드만으로 복잡한 패턴의 문자열을 검사할 수 있다.

주로 검사하는 항목들은 다음과 같다.

  • 아이디

  • 비밀번호

  • 이메일

  • 전화번호

  • 주소

  • 우편번호

  • 카드번호

  • IP주소

  • 홈페이지 주소

이밖에도 원하는 항목들을 식을 만들어 검사할 수 있으며, 홈페이지에서는 대부분의 입력창 검사를 정규표현식으로 하므로 언어 종류와 상관없이 공용으로 사용할 수 있는 정규표현식을 배우는 것이 좋다.

참고 사이트

정규표현식을 배울 때 유용한 사이트들은 다음과 같다.

주요 정규표현식 기호

정규표현식에 사용되는 기호들은 다음과 같다.

시작과 종료

기호

설명

^

검사식의 시작지점

$

검사식의 종료지점

글자 표시

기호

설명

abc

abc라는 문자열이 등장한다

[abc]

a, b, c 중 하나의 글자가 등장한다

[a-c]

a부터 c 사이의 글자가 하나 등장한다

[^abc]

a, b, c를 제외한 하나의 글자가 등장한다

(ab|bc)

ab 또는 bc 중 하나의 글자가 등장한다(OR)

횟수 표시

기호

설명

a{5}

a5번 나온다

a{5,}

a5번 이상 나온다

a{5,7}

a5번 이상 7번 이하 나온다

(hello){5}

hello5번 나온다(괄호로 묶어야 한다)

(hello|hi){5}

hello 또는 hi5번 나온다

[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