[GA4>M 활용] GA4 정규 표현식 기초 (1편) : 와일드카드·앵커·그룹 문법과 실전 예제
핵심 요약 (한 줄 답변)
정규 표현식(정규식, Regex) 은 일반 문자와 특수 문자를 조합해, 텍스트에서 특정 패턴을 찾고, 추출하고, 바꾸고, 일치시키는 데 사용되는 도구입니다. GA4에서는 데이터 필터·주요 이벤트·세그먼트·잠재고객·콘텐츠 그룹·맞춤 채널 그룹 등 다양한 정의에 정규식을 활용할 수 있습니다. 핵심 문법은 크게 네 갈래입니다 — ① 와일드카드(.·?·+·*·|)로 유연한 패턴을, ② 앵커(^·$)로 문자열의 시작·끝 위치를, ③ 이스케이프(\)로 특수문자를 문자 그대로, ④ 그룹(()·[]·-·{})으로 패턴 묶음을 표현합니다. 특히 GA4는 "정규식 일치"가 아니라 "정규식 전체 일치" 를 적용하므로, 원하는 텍스트가 문자열 중간에 있다면 앞뒤에 .*를 반드시 붙여야 한다는 점이 가장 흔히 저지르는 실수입니다.
이 글에서 알 수 있는 것
- 정규 표현식의 정의와 GA4에서 활용되는 곳
"정규식 일치" vs "정규식 불일치"의 의미 - 와일드카드 5가지(마침표·물음표·플러스·별표·파이프) 문법과 예시
- 앵커(^, $)로 위치를 지정하는 방법
- 이스케이프 문자로 특수문자를 리터럴로 처리하는 법
- 그룹·대괄호·하이픈·중괄호로 범위와 반복 횟수를 정의하는 법
- GA4 정규식 작성 시 반드시 지켜야 할 5가지 실전 팁
- 실전 예제 : "/shoes/123-112233" 같은 URL 패턴 매칭하기
✳️ 난이도 : 중급 | 소요 시간 : 약 8분 | 대상 : GA4 필터·세그먼트·잠재고객 등에서 정규식을 정확히 쓰고 싶은 마케터·데이터 분석가
"정규 표현식이 뭐지?" 라고 생각해 본 적 있나요?
GA4를 접하면서 정규 표현식이라는 용어를 보고 "이게 뭐지?"라고 생각해 본 적이 있으신가요? 정규식을 사용해 본 적이 있더라도, 이 글에서 새롭게 배울 점이 있을 수 있습니다.
정규 표현식은 텍스트를 찾고, 추출하고, 바꾸고, 일치시키는 데 사용되는 특수한 문자 시퀀스로, 데이터 분석에서 텍스트 처리 작업을 위한 강력한 도구입니다. GA4의 맥락에서 정규식을 사용하면 보고서의 데이터를 필터링하는 등 다양한 작업을 수행할 수 있습니다. 이번 1편에서는 기본 구문과 패턴 등 정규 표현식을 작성하는 데 필요한 도구를 다루고, GA4에서 정규 표현식을 사용하는 방법을 살펴봅니다.
정규 표현식(정규식)이란 무엇인가요?
정규식은 일반 문자(문자·숫자)와 특수 문자의 조합으로, 정규 표현식 구문에서 특별한 의미를 갖습니다. 정규 표현식을 사용하면 텍스트 문자열에서 특정 패턴이나 문자열 시퀀스를 검색할 수 있습니다.
GA4에서 가장 흔히 볼 수 있는 것은 "정규식 일치" 와 "정규식 불일치" 입니다.
| 옵션 | 의미 |
| 정규식 일치 | 정규식 패턴과 일치하는 데이터만 포함 |
| 정규식 불일치 | 정규식 패턴과 일치하는 데이터를 제외한 모든 데이터 포함 |
정규식이 필요한 상황 (예시)
신발과 액세서리를 판매하는 사이트가 있고, 각 신발은 상세정보 페이지(/shoes/123-112233)를 갖고 있다고 가정해 보겠습니다. 이 상세정보 페이지의 페이지 조회수만 집계하고 싶습니다.
GA4의 포함 필터를 쓸 수는 있지만, 이 URL 패턴이 "/shoes/[3자리]-[6자리]" 형식이라 잘 작동하지 않습니다.
- "/shoes/" 만 입력하면 → 너무 많은 페이지가 포함됩니다.(예: /shoes/list가 이미 존재할 수 있음)
- "/shoes/123" 을 사용하면 → 데이터가 너무 제한됩니다.
✅ 핵심 : 이럴 때 정규식을 사용하면 됩니다. 이 예제는 글 마지막의 실전 예제에서 완성해 보겠습니다.
정규 표현식 기본 구문 4가지 카테고리
정규식 문법은 크게 와일드카드·앵커·이스케이프·그룹 4가지로 나뉩니다. 하나씩 살펴보겠습니다.
① 와일드카드 - 유연한 패턴 만들기
와일드카드는 입력에 다양한 변수나 미지수를 허용해 유연성을 제공합니다.
| 기호 | 이름 | 의미 | 예시 |
| . | 마침표 | 모든 단일 문자와 일치 | /sho.s/ → /shops/, /shoes/, /shows/ |
| ? | 물음표 | 이전 문자가 0번 또는 1번 반복 | /shoes?/ → /shoes/, /shoe/ |
| + | 플러스 | 이전 문자가 최소 1번 이상 반복 | /shoes+/ → /shoess/, /shoesss/ |
| * | 별표 | 이전 문자가 0회 이상 반복 | /shoes*/ → /shoe/, /shoesss/ |
| | | 파이프 | OR 조건 | (/shoes/123|/shoes/abc) → /shoes/123 또는 /shoes/abc (단, /shoes/a1b2c3은 불일치) |
✅ 가장 많이 쓰이는 조합 : .*(별표+마침표)는 "0개 이상의 아무 문자" 를 의미합니다. 예를 들어 https://www.example.com{정규식 패턴}을 매번 입력하는 대신, https://www.example.com을 .*로 바꿔 쓰는 방식이 GA4에서 매우 자주 쓰입니다.
② 앵커(Anchors) — 위치 지정하기
앵커는 패턴이 일치해야 하는 텍스트 내 위치(예: 문자열의 시작이나 끝)를 지정합니다.
| 기호 | 이름 | 의미 | 예시 |
| ^ | 캐럿 | 문자열 시작 부분에 후속 문자가 있으면 일치 | ^/shoes/ → /shoes/123-112233과 일치, website.com/shoes/123-112233과는 불일치 |
| $ | 달러 기호 | 문자열이 이전 문자로 끝날 때 일치 | /shoes/$ → /website.com/shoes/와 일치, /website.com/shoes/123과는 불일치 |
③ 이스케이프(Escape) — 특수문자를 문자 그대로
\ 문자는 후속 문자를 특수 정규식 문자가 아닌 문자 그대로 해석하려는 경우 사용됩니다.
❇️ 예시 : /shoes/search\?q=.* 는 /shoes/search?q=sneakers 와 일치합니다. 여기서 ?는 "이전 문자를 0~1번 일치"시키는 와일드카드가 아니라, 리터럴 문자(물음표 그 자체) 로 사용됩니다.
④ 그룹(Groups) — 패턴 묶기
그룹은 패턴의 일부(단어·구문·문자 모음)를 하나의 단위로 나타낼 수 있는 컨테이너 역할을 합니다.
| 기호 | 이름 | 의미 | 예시 |
| ( ) | 소괄호 | 괄호 안 문자 순서와 정확히 일치 | (/shoes/) → /shoes/123-112233, /womens/shoes/ |
| [ ] | 대괄호 | 대괄호 안 문자 중 하나와 일치 | /shoes/[123] → /shoes/1, /shoes/2, /shoes/3 |
| - | 하이픈 | 대괄호 안에서 문자 범위 지정 | [A-Z]=대문자, [a-z]=소문자, [0-9]=숫자, [A-Za-z0-9]=영숫자 |
| { } | 중괄호 | 문자가 몇 번 나타나야 하는지 지정 | 아래 표 참고 |
⚠️ 주의 : [Az]는 [A-Za-z]와 같지 않습니다. 하이픈 없이는 범위가 아니라 개별 문자 A와 z만을 의미합니다.
중괄호 { } 반복 횟수 지정 방법 3가지 :
| 표기 | 의미 | 예시 |
| {n} | 정확히 n번 발생 | /shoes/[0-9]{1} → /shoes/1, /shoes/7 |
| {n,} | 최소 n번 이상 발생 | /shoes/[0-9]{1,} → /shoes/6, /shoes/12, /shoes/123456789 |
| {n,m} | 최소 n번, 최대 m번 발생 | /shoes/[0-9]{1,3} → /shoes/0, /shoes/14, /shoes/123 |
GA4 정규식 작성 시 반드시 지켜야 할 실전 팁 5가지
문법을 알아도 GA4의 특수한 동작 방식을 모르면 정규식이 예상대로 작동하지 않습니다. 아래 5가지는 실무에서 가장 자주 걸리는 함정입니다.
팁 ①. 정규식은 대소문자를 구분합니다
/Shoes/ 와 /shoes/ 는 다른 문자열로 취급됩니다.
- "정규식 일치(대소문자 무시)" 라는 변형 옵션이 있다면, 이 경우 /Shoes/는 /shoes/와 같아집니다. 데이터 누락을 방지하려면 이 옵션을 사용하는 것을 권장합니다.
- 대소문자 구분을 피하고 싶은 문자열 앞에는 (?i) 를 사용할 수 있습니다. 예: /(?i)shoes/ → /Shoes/ 또는 /shoes/ 모두 일치.
팁 ②. 대괄호로 표현식을 간소화하세요
(^/shoes/$) | (^/boots/$) 대신, /shoes/ 또는 /boots/ 를 일치시키려면 다음처럼 묶어서 표현할 수 있습니다.
^/(shoes|boots)/$
팁 ③. regex101.com 같은 사이트로 미리 테스트하세요

regex101.com 같은 사이트로 정규식을 미리 테스트해 보는 것을 추천합니다. 단, 이 사이트는 GA4에 필요한 것보다 더 자주 이스케이프 문자를 사용해야 한다는 점에 주의하세요.
팁 ④. GA4는 "정규식 일치"가 아니라 "정규식 전체 일치"입니다
이것이 가장 흔히 저지르는 실수입니다. GA4 정규식은 값과 정확히(전체가) 일치해야 합니다.
❇️ 예시 : /shoes/를 포함하는 모든 페이지에 대한 정규식을 만든다고 가정해 보겠습니다. 정규식을 /shoes/로만 설정하면 데이터가 전혀 없거나 매우 제한적으로만 나옵니다. URL에서 /shoes/ 앞이나 뒤에 다른 내용이 있을 수 있으므로, .*/shoes/.* 처럼 앞뒤에 .*를 붙여야 합니다.
팁 ⑤. $로 의도치 않은 데이터 포함을 막으세요
정규 표현식은 항상 "관대"하기 때문에, 의도치 않은 데이터까지 포함될 수 있습니다. .*의 반대 개념으로, $를 꼭 사용해 원치 않는 추가 데이터를 막아야 합니다.
❇️ 예시 : www.example.com/shoes 라는 URL만 매칭하고 싶다고 가정해 보겠습니다. 정규식을 .*/shoes로 설정하면 .../shoes/123 같은 URL도 함께 포함됩니다. 올바른 패턴은 .*/shoes$ 입니다.
⚠️ 주의 : GA4에서는 반대로, 정규식 패턴 끝에 $가 이미 있는 것으로 가정하고 동작하는 경우가 있으니 실제 결과를 확인하며 조정하는 것이 안전합니다.
실전 예제 : "/shoes/123-112233" 패턴 매칭하기
이제 글 처음의 문제로 돌아가 보겠습니다. "/shoes/[3자리]-[6자리]" 형식의 URL을 매칭하는 정규 표현식은 어떻게 만들 수 있을까요?
정답 :
.*/shoes/[0-9]{3}-[0-9]{6}$
| 구성 요소 | 의미 |
| .* | URL에서 이 패턴 앞에 무엇이든 올 수 있음을 나타냄 |
| /shoes/ | 신발 페이지임을 알려주는 URL의 고정 부분 |
| [0-9]{3}-[0-9]{6} | 신발의 제품 ID 형식(3자리 숫자-6자리 숫자) |
| $ | URL이 제품 ID 뒤에서 끝남을 나타냄 |
✅ 핵심 : 이 하나의 정규식으로, /shoes/list나 /shoes/123 같은 불필요한 페이지는 제외하고, 정확히 /shoes/123-112233 형식의 상세 페이지만 골라낼 수 있습니다.
결론 : 문법보다 중요한 건 'GA4의 전체 일치 규칙'을 기억하는 것
이번 1편에서 다룬 정규식 기초의 핵심은 하나로 요약됩니다.
"GA4는 부분 일치가 아니라 전체 일치를 요구한다. 그래서 대부분의 GA4 정규식은 .*로 시작해서 $로 끝난다."
와일드카드·앵커·그룹 문법을 하나씩 외우기보다, .*(앞뒤 유연하게) + 원하는 패턴 + $(끝 고정) 이라는 기본 골격을 먼저 익히는 것이 실무에서 가장 빠른 지름길입니다. 다음 2편에서는 GA4의 어떤 기능(필터·세그먼트·잠재고객 등)에서 정규식을 실제로 활용하는지 더 자세히 다루겠습니다.
자주 묻는 질문 (FAQ)
Q. GA4 정규식의 규칙은 무엇인가요?
A. 크게 세 가지입니다. ① 문자 제한 — GA4의 정규 표현식은 256자를 초과할 수 없습니다. ② 기본적으로 대소문자 구분 — 수정하지 않는 한 대소문자를 구분합니다. ③ 전체 일치 필수 — GA4는 전체 문자열 일치를 적용하므로, 정규 표현식이 입력 내용의 일부가 아닌 전체 문자열과 일치해야 합니다.
Q. GA4에서 정규 표현식은 어디에 사용되나요?
A. GA4는 정규 표현식을 지원해 데이터 필터, 주요 이벤트, 세그먼트, 잠재고객, 콘텐츠 그룹, 맞춤 채널 그룹 등에 대한 정의를 더욱 유연하게 만들 수 있습니다.
Q. .*는 왜 그렇게 자주 쓰이나요?
A. GA4가 전체 일치를 요구하기 때문입니다. 원하는 패턴이 URL 중간이나 끝에 있다면, 그 앞뒤에 "아무 문자나 올 수 있음"을 뜻하는 .*를 붙이지 않으면 정규식이 거의 일치하지 않습니다.
Q. 대소문자를 구분하지 않으려면 어떻게 하나요?
A. GA4에서 "정규식 일치(대소문자 무시)" 옵션을 사용하거나, 문자열 앞에 (?i) 를 붙이면 됩니다. 예: /(?i)shoes/는 /Shoes/와 /shoes/ 모두와 일치합니다.
Q. 정규식을 미리 테스트할 수 있는 곳이 있나요?
A. regex101.com 같은 사이트로 테스트해 볼 수 있습니다. 다만 이 사이트는 GA4보다 이스케이프 문자를 더 자주 요구하므로, GA4에 그대로 적용하기 전에 차이를 감안해야 합니다.
요약 (한 장 정리)
- 정규식 = 텍스트에서 패턴을 찾고 일치시키는 특수 문자 시퀀스
- GA4 활용처 : 데이터 필터·주요 이벤트·세그먼트·잠재고객·콘텐츠 그룹·맞춤 채널 그룹
- 와일드카드 : .(단일문자) ?(0~1회) +(1회 이상) *(0회 이상) |(OR)
- 앵커 : ^(시작) $(끝)
- 이스케이프 : \로 특수문자를 리터럴로 처리
- 그룹 : ()(그룹) [](문자 집합) -(범위) {}(반복 횟수)
- 가장 흔한 실수 : GA4는 전체 일치를 요구 → 앞뒤에 .* 필요
- 기본 골격 : .* + 원하는 패턴 + $
- 다음 편(2편) : GA4 기능별 정규식 실전 활용
작성 : 디애널리틱스(The Analytics) · 구글애널리틱스를 활용하여 기업의 마케팅 성과를 향상시키는 방법을 연구합니다.
'GA4>M 활용' 카테고리의 다른 글
| [GA4>M 활용] GA4 총 사용자 vs 활성 사용자 vs 새 사용자 vs 재방문자, 차이점 완벽 정리 (0) | 2026.08.07 |
|---|---|
| [GA4>M 활용] GA4 이탈률이란? 계산 방식과 참여 세션 타이머 조정 방법 (0) | 2026.08.07 |
| [GA4>M 활용] GA4 클릭 추적 방법 : 자동 추적부터 GTM 맞춤 클릭 이벤트까지 (0) | 2026.08.07 |
| [GA4>M 활용] GA4 Client ID vs User ID 차이점 : 언제 어떤 ID를 써야 할까? (0) | 2026.08.06 |
| [GA4>M 활용] GA4 추천 트래픽(Referral) 찾는 방법 3가지 : 표준 보고서부터 탐색 분석까지 (0) | 2026.08.06 |