본문 바로가기
기타 프로그래밍

정규 표현식(Regular Expressions, regex)

by 어뫄어뫄 2024. 11. 19.

 

정규 표현식

정규 표현식(Regular Expressions, regex)은 문자열에서 패턴을 찾고 조작하는 데 유용한 도구이다. 아래에 다양한 정규 표현식의 예제를 통해 regex 구조를 쉽게 이해할 수 있도록 설명할 수 있다.

정규 표현식 기초

  • 기본 문자 매칭
    • 정규 표현식: abc
    • 문자열 "abc"와 정확히 일치하는 부분을 찾는다.
  • 문자 클래스
    • 정규 표현식: [aeiou]
    • 모음(a, e, i, o, u) 중 하나와 일치하는 단일 문자를 찾는다.
  • 부정 문자 클래스
    • 정규 표현식: [^aeiou]
    • 모음을 제외한 모든 문자와 일치한다.
  • 수량자
    • 정규 표현식: a*
    • 'a'가 0개 이상 반복되는 부분을 찾는다.
    • 정규 표현식: a+
    •  'a'가 1개 이상 반복되는 부분을 찾는다.
    • 정규 표현식: a?
    • 'a'가 0개 또는 1개 있는 부분을 찾는다.
  • 특정 길이의 문자열
    • 정규 표현식: a{3}
    • 'a'가 정확히 3개 연속인 부분을 찾는다.
    • 정규 표현식: a{2,4}
    • 'a'가 2개 이상 4개 이하로 반복되는 부분을 찾는다.
  • 경계
    • 정규 표현식: \bword\b
    • "word"라는 단어가 단어 경계에 있는 경우를 찾는다. (예: "word", "word."는 일치하지만 "sword"는 일치하지 않음)
  • 그룹화
    • 정규 표현식: (abc)+
    • "abc"가 1회 이상 반복되는 부분을 찾는다.
  • OR 연산자
    • 정규 표현식: cat|dog
    • "cat" 또는 "dog"와 일치하는 부분을 찾는다.
  • 특수 문자
    • 정규 표현식: \d
    • 숫자(0-9)와 일치한다.
    • 정규 표현식: \D
    • 숫자를 제외한 모든 문자와 일치한다.
    • 정규 표현식: \w
    • 알파벳, 숫자, 또는 밑줄(_)과 일치한다.
    • 정규 표현식: \W
    • 알파벳, 숫자, 및 밑줄을 제외한 문자와 일치한다.
    • 정규 표현식: \s
    • 공백 문자(스페이스, 탭, 새 줄 등)와 일치한다.
    • 정규 표현식: \S
    • 공백 문자를 제외한 모든 문자와 일치한다.

예제 정리

이제 위의 예제를 바탕으로 간단한 정규 표현식을 조합해 볼 수 있다:

  • 정규 표현식: \d{2,4}-[a-z]{3}
    • 2개 이상 4개 이하의 숫자 다음에 하이픈(-)이 오고, 그 뒤에 소문자 3개가 있는 패턴을 찾는다. (예: "123-abc", "12-xyz")
  • 정규 표현식: (^|\s)([A-Z][a-z]+)(\s|$)
    • 문장의 시작 또는 공백 다음에 대문자로 시작하는 단어가 오고, 그 뒤에 소문자가 이어지는 패턴을 찾는다. (예: "Hello", " Aloha ")