정규 표현식
정규 표현식(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 ")