GA 맞춤보고서 정규식, 정규표현식 예시와 방법
GA는 정규표현식을 지원하므로 보기 필터 / 맞춤보고서 / 목표 / 잠재고객 / 콘텐츠 그룹 / 채널 그룹 등
조건을 주어야할 때 정규표현식을 통해 간단한 식으로 표현, 필터링해 유연하게 정의 및 추출 가능
<예시 조건들>
1. IP에 대한 조건 (198.51.100으로 시작하는 IP추출)
2. 페이지명에 promotion이 들어간 트래픽 추출
3. m.으로 시작하는 모바일 트래픽 추출
더 상세한 예를 들면 맞춤보고서 필터에서 정규식 'day'를 했을 때
→ 요일 이름에 day가 포함된 값을 뽑아주세요가 되는 것이다.
이럴 때, 요일에 day가 포함되어 있기 때문에 모든 요일이 나올 수 밖에 없다.
1) ...DE
.은 .이 있는 자리에 어떠한 아무 글자, 숫자, 특수문자든지 다 올 수 있다.
→ 즉, 아무문자 세 자리에 DE가 나오면 되는 것이다.
ABCDE | O |
@##DE | O |
BBCDF | X |
...DE | O |
ZE!DE | O |
BGRED | X |
2) | (파이프 - 원화표시 위에 있는 특수문자)
or의 연산자, '또는'의 의미로 다양한 식을 한 번에 표현하고자 할 때 사용
정규식 | 문자열 | 일치여부 |
A|B | A | O |
B | O | |
C | X | |
AB|CD | ZABZE | O |
DCBAE | X |
→ 주말 데이터 뽑고 싶을 때 필터 정규식에 가서 Sunday|Saturday 하면 완성
3) ^ (캐럿)
~로 시작함, ^바로 뒤에 오는 문자로 문자열이 시작
정규식 | 문자열 | 일치여부 |
^ABC | ABC | O |
ABCDE | O | |
AABCCDEF | X | |
^회원 | 회원가입페이지 | O |
VIP회원특별전 | X |
4) $ (달러)
$바로 앞에 오는 문자로 문자열이 마침
정규식 | 문자열 | 일치 여부 |
cms$ (cms로 끝남) |
benefit.cms?id=12345 | X |
promotion.cms | O | |
best_products_list.cms | O | |
영화$ | 인기영화 | O |
알뜰한 영화관람법 | X |
5) () (소괄호)
같은 순서로 포함된 문자 또는 그룹화
예를 들어 필터부문에 sunday|saturday가 일요일 혹은 토요일 즉, 주말을 뜻할 때,
공통된 day를 뺀 나머지 (sun|satur)day 로 그룹을 지어도 동일하게 적용된다.
6) \ (백슬래시)
예를 들어 정규표현식으로 ^www.naver.com/detail?prdno=12345 일때
검증 값 www.naver.com/detail?prdno=12345 이 해당된다.
하지만 점.을 뺀 wwwwnaverwcom/detail?prodno=12345 역시 검증값으로 해당된다.
→ 점은 아무 문자가 올 수 있는 정규표현식이기에 .이 아니라 w가와도 아무문자가 없다
^www\naver\com\/detail\?prdno\=12345
→ 특수문자 앞에 역슬래쉬\ 를 쳐주면 정규식이 아닌 문자그대로 해석하는 방식
실전 예시
www.test.com/detail?prdno=12345,12368,12399
3가지 데이터를 뽑고 싶을 때 www.test.com/detail?prdno=123(45|68|99) 조건을 걸 수 있다
그리고 특수문자 앞에는 꼭 백슬래쉬 추가 필요
최종적으로 이런 정규식 완성
→ www\.test\.com\/detail\?prdno\=123(45|68|99)
정규표현식 Rubular 페이지에 정규표현식 test로 확인할 수 있다.
Rubular
Ruby-based regular expression editor/tester
rubular.com