세분화에서 레그엑스 매칭 사용

read
Last updated at:

정규식 매칭이란 무엇인가요?

정규식 매칭을 사용하면 정확한 값 대신 텍스트 패턴을 기반으로 프로필을 필터링할 수 있습니다. 이는 특정 도메인의 이메일 주소나 특정 형식의 전화번호 등 특정 형식을 따르는 프로필을 찾는 데 유용합니다.

⚠️ 중요: 정규식은 항상 처음부터 끝까지 전체 값과 일치합니다.

 

정규식 사용 방법

세그먼트를 작성할 때 두 개의 정규식 연산자를 사용할 수 있습니다:

  • 일치하는 정규식 - 값이 정규식과 일치하는 프로필을 포함합니다.
  • 정규식과 일치하지 않음 - 값이 정규식과 일치하지 않는 프로필을 포함합니다.

다음 세그먼트 조건에서 사용할 수 있습니다:

  1. 사용자에 대한 속성(사용자 지정 개체 포함)

 

2. " 누군가가 수행한 작업 또는 수행하지 않은 작업" 및 "누군가가 특정 순서대로 수행한 단계"

 

정규식 기초

문자 일치

  • 문자 및 숫자 - 일반적으로 입력: 안녕하세요 일치 "hello"
  • 임의 숫자 - \d를 사용하여 숫자 0-9와 일치시킵니다.
  • 모든 문자 - 소문자는 [a-z], 대문자는 [A-Z], 또는 둘 다 [a-zA-Z]를 사용합니다.
  • 둘 중 하나 - |를 사용하여 옵션 일치: "gmail" 또는 "yahoo와 일치합니다."
  • 아무거나 - .*를 사용하여 모든 문자를 일치시킵니다.

특수 문자

앞에 백슬래시 \를 추가하여 문자 그대로 일치시킵니다:

  • 마침표: 마침표: \. 마침표와 일치
  • 더하기 기호: 더하기 기호: \+와 일치
  • 괄호: \( 및 \) 괄호 일치

반복 패턴

  • {5} - 정확히 5번(예: \d{5} 5자리 일치)
  • {2,4} - 2~4회
  • ? - 선택 사항(0회 또는 1회)

참고: 반복 패턴은 최대 1,000회까지로 제한됩니다.

 

일반적인 예

이메일 주소

  • 특정 도메인:
    • .*@example\.com
    • 일치하는 항목: john@example.com, support@example.com
  • 여러 도메인:
    • .*@(gmail|yahoo|hotmail)\.com
    • 일치하는 항목: user@gmail.com, user@yahoo.com, user@hotmail.com
  • 모든 .com 이메일:
    • .*@.*\.com

전화번호

  • 미국 10자리 숫자
    • \d{10}
    • 매치 5551234567
  • 괄호 안에 서식을 지정합니다:
    • \(\d{3}\) \d{3}-\d{4}
    • 일치하는 번호: (555) 123-4567

우편 번호

  • 5자리 우편 번호:
    • \d{5}
    • 매치 12345
  • ZIP+4:
    • \d{5}-\d{4}
    • 성냥 12345-6789

고급 참조: 저희 구현에서는 Google RE2를 표준으로 사용합니다. 여기에서 자세히 알아보세요.

 

RegEx 한도

제한 예시
정규식 길이 최대 1,000자 -
정규식 라인 최대 100줄  -
반복 최대 1,000회 반복 \d{1000} 허용됨
\d{1001} 허용되지 않음
옵션(|) 메인 레벨에서 최대 5개 A|B|C|D|E|F 한도 초과(6가지 옵션)
중첩 깊이 최대 5단계 ((((a)))) 4단계 허용

또한 현재 다음 기능은 지원되지 않습니다.

기능 예시
룩어헤드/룩비하인드 (?=...), (?!...), (?<=...), (?<!...)
백레퍼런스 \1, \2, (\w+)\s+\1
유니코드 이스케이프 \uXXXX, \u00A0
중첩된 수량화자 (a+)+, (x*)*, (a{2,5})+

 

성공을 위한 팁

1. 정규식이 전체 값과 일치합니다.

정규식은 값의 일부가 아닌 전체 값을 설명해야 합니다.

잘못: gmail\.com ( "gmail.com" 텍스트와만 일치)

오른쪽: .*@gmail\.com (john@gmail.com 같은 완전한 이메일과 일치)

 

2. 항상 마침표 탈출

.com과 일치하는 경우 .net, 등의 경우 백슬래시를 사용하여 \.com으로 작성합니다.

틀렸습니다: @gmail.com(마침표는 모든 문자와 일치)

맞습니다: @gmail\.com (문자 그대로 마침표와 일치)

 

3. .* 사용 에 대한 "뭐든지"

.*로 시작하는 모든 문자를 일치시킵니다.

  • .*@company\.com - 회사닷컴의모든 이메일
  • \+.* - +로 시작하는 모든 것
  • .*긴급.* - "긴급을 포함하는 텍스트"

 

4. 간단하게 시작한 다음 세분화

기본 정규식으로 시작하여 점차 세부 사항을 추가하세요.

  • 예: .*@gmail\.com → [a-z]+\.[a-z]+@gmail\.com

가능하면 복잡한 로직을 여러 개의 간단한 필터로 분할하세요.

  • 예: "캘리포니아에서 보낸 Gmail 또는 Yahoo 이메일":
    • 필터 1: 이메일이 정규식 .*@(gmail|yahoo)\.com과 일치하는 경우
    • 필터 2: 주 = 캘리포니아

5. RegEx는 기본적으로 대소문자를 구분합니다.

대소문자를 구분하지 않는 문장을 만들려면 접두사로 (?i)를 추가하면 됩니다.

  • 제품 일치 (?i)^아이폰$

 

RegEx와 Standard 연산자를 사용해야 하는 경우

특정 형식이나 패턴을 일치시켜야 할 때는 정규식을 사용하세요. 간단한 요구 사항의 경우 표준 연산자를 대신 사용할 것을 적극 권장합니다:

  • 포함 - 텍스트가 어디에나 표시됨
  • 시작 - 시작 부분과 일치
  • 끝 - 결말과 일치합니다.
  • 같음 - 정확히 일치
x
도움이 되었습니까?
0명 중 0명이 도움이 되었다고 했습니다.