정규 표현식(Regular Expression)

김동욱·2023년 4월 23일

기타

목록 보기
1/4
post-thumbnail

정규 표현식이란?

정규 표현식(Regular Expression)은 문자열에서 특정 패턴을 만족하는 부분을 찾아낼 때 사용한다. 정규 표현식(이하 정규식)은 문자열의 검색, 대체, 추출 등 다양한 용도로 사용된다. 예를 들어, 전자우편 주소나 URL, 전화번호 등과 같은 패턴을 찾거나 데이터를 추출할 때 많이 사용된다.

정규식은 문자열의 패턴을 나타내기 위해 일정한 문법을 사용한다. 이 문법은 다양한 문자, 기호, 메타문자 등을 사용하여 표현된다. 일반적으로 정규식 문법에서 사용되는 표현들을 살펴보자.

정규식의 메타문자

정규식은 위와 같은 여러 기호들의 조합으로 표현한다. 이러한 기호들을 메타 문자라고 한다. 다양한 메타 문자들로 정규식 표현이 가능하다. 가장 일반적으로 사용되는 메타 문자들을 살펴보자.

메타 문자의미
.모든 문자와 일치합니다.
*앞에 오는 문자가 0회 이상 반복됩니다.
+앞에 오는 문자가 1회 이상 반복됩니다.
?앞에 오는 문자가 0회 또는 1회 나타납니다.
|둘 중 하나의 문자열과 일치합니다.
[ ]대괄호 안의 어떤 문자도 일치합니다.
[^ ]대괄호 안의 어떤 문자도 일치하지 않습니다.
^문자열의 시작과 일치합니다.
$문자열의 끝과 일치합니다.
( )괄호 안에 있는 패턴을 하나의 그룹으로 묶습니다.
\이스케이프 문자로 사용되어 일반 문자를 메타 문자로 취급하지 않도록 합니다.
{m}앞에 오는 문자가 정확히 m회 나타납니다.
{m,}앞에 오는 문자가 m회 이상 나타납니다.
{m,n}앞에 오는 문자가 m회 이상, n회 이하 나타납니다.
\b단어 경계를 나타냅니다.
\B단어 경계가 아님을 나타냅니다.
\d숫자를 나타냅니다. [0-9]와 동일합니다.
\D숫자가 아닌 문자를 나타냅니다. [^0-9]와 동일합니다.
\s공백 문자(스페이스, 탭, 뉴라인)를 나타냅니다.
\S공백이 아닌 문자를 나타냅니다.
\w단어 문자(알파벳 대소문자, 숫자, 언더스코어)를 나타냅니다.
\W글자 대표 문자를 제외한 글자들(특수문자, 공백 등)을 나타냅니다.

사용 예제

  • 정규표현식으로 010, 123, 456 중 자연수를 찾기

    • 처음에 1~9중 하나의 숫자가 나온 다음
    • 그 뒤에는 숫자가 0개 이상 나오면 자연수이다.

    정규식 : [1-9]\d*

  • 021234567, 02-123-4567, 010 2454 3457 처럼 공백이나 '-'로 구분되는 전화번호 찾기

    정규식 : \d+-?\d+-?\d+

  • 0030589-5-95826 형식의 번호는 거르고 02-123-4567 형식의 번호 찾기

    정규식 : \d{2}[ -]?\d{3}[- ]?\d{4}

  • 연속된 영어 소문자 찾기

    정규식 : [a-z]+

  • 한글 단어를 찾기

    정규식 : [가-힣]+

profile
안녕하세요! 질문과 피드백은 언제든지 환영입니다:)

0개의 댓글