[c++] 정규 표현식 문법과 규칙
정규 표현식(Regular Expression)은 텍스트 내에서 특정한 패턴을 찾거나 대체하거나 추출하기 위해 사용되는 문자열입니다. 이것은 작은 언어의 성격을 가지고 있으며 문자와 메타 문자로 이루어진 패턴을 정의하고, 이들이 문자열 안에서 검색되거나 수정될 때 적용할 수 있습니다.
기본 문법
정규 표현식에는 다양한 문자와 기호들이 존재합니다. 여기 몇 가지 핵심적인 요소들을 살펴봅시다:
- 문자
- 문자열 안에서 직접 일치시킬 문자를 나타냅니다.
- 메타 문자
- 특수한 목적을 가진 문자로서, 예약된 용도를 가지고 있습니다. 예를 들어,
.
은 임의의 문자와 일치하고,*
는 0개 이상의 앞선 패턴을 가리킵니다.
- 특수한 목적을 가진 문자로서, 예약된 용도를 가지고 있습니다. 예를 들어,
- 문자 클래스
- 여러 문자 중 하나와 일치시키기 위해 사용됩니다. 예를 들어,
[abc]
는 “a” 또는 “b” 또는 “c”와 일치하며,[^abc]
는 “a” 또는 “b” 또는 “c”를 제외한 어떤 문자와도 일치합니다.
- 여러 문자 중 하나와 일치시키기 위해 사용됩니다. 예를 들어,
기본 규칙
정규 표현식에는 다음과 같은 기본적인 규칙이 존재합니다:
- 대/소문자 구분
- 대/소문자를 구분하지 않는 경우를 표시하기 위해선
(?i)
를 사용할 수 있으며, 대/소문자를 구분하도록 설정된 경우에는 이 옵션을 사용하지 않습니다.
- 대/소문자를 구분하지 않는 경우를 표시하기 위해선
- 일치 여부
- 주어진 패턴이 문자열에서 발견될 때, 일치하는 부분을 반환합니다.
- 패턴 추출
- 정규 표현식으로 이루어진 패턴을 이용하여 문자열을 추출할 수 있습니다.
정규 표현식은 매우 강력한 도구이지만 복잡한 패턴을 처리하는데 있어서는 혼동을 줄 수 있습니다. 적절한 문법과 규칙을 알고 있다면, 효과적으로 사용할 수 있을 것입니다.
더 많은 정보를 원하시면 MDN web docs를 참고하세요.