# 정규식 생성기: 롤아웃 타깃팅과 로그 필터용

URL: https://upstreamapi.com/ko/tools/jeonggyusik-saengseonggi
Type: tool
Locale: ko
Published: 2026-10-11
Updated: 2026-10-11

---

> 롤아웃 타깃팅 규칙, 알럿 매처, 로그 필터용 이스케이프된 정규식 패턴을 만듭니다. 엔진을 고르고 브라우저에서 근접 오답을 테스트한 뒤 복사하세요.

*무료 도구*

## 롤아웃 타깃팅과 로그 필터를 위한 정규식 생성기

매칭할 호스트, 경로, 버전 또는 상태 코드를 붙여넣으세요. 사용하는 정규식 엔진에 맞게 이스케이프된 패턴을 받고, 프로덕션에 반영하기 전에 실제 로그 줄로 확인하세요.

## 값 목록으로 정규식 생성

매칭할 대상을 고르고 값을 입력한 뒤 엔진을 선택하세요. 입력하는 동안 패턴과 테스트 결과가 바로 갱신됩니다.

*[Interactive widget — see the live page for the full experience]*

## 생성기가 입력값을 처리하는 방식

### 모든 리터럴을 이스케이프

값에 든 점, 슬래시, 괄호, 플러스 기호는 모두 이스케이프됩니다. 그래서 api.internal.example.com은 api-internal-example-com과 매칭되지 않습니다. 손으로 쓴 허용 목록은 바로 이 지점에서 가장 자주 실패합니다.

### 사용하는 엔진에 맞춰 작성

검색 엔진은 매칭을 고정하려면 ^와 $가 필요합니다. Prometheus, Alertmanager, Envoy는 문자열 전체를 매칭하므로 접두사와 접미사 규칙에는 .*가 필요합니다. 엔진을 고르면 생성기가 패턴을 그에 맞게 바꿉니다.

### 배포 전에 테스트

모든 테스트 줄에는 복사할 패턴 기준으로 일치 또는 불일치 배지가 붙습니다. 근접 오답을 일부러 넣으세요. 예: checkout-v2 옆에 checkout-v22, example.com 옆에 example.com.evil.io.

*패턴이 실패하는 지점*

## 리뷰를 통과했지만 누군가를 깨운 정규식

롤아웃과 알럿 설정에서 생기는 정규식 장애는 대개 특이한 경우가 아닙니다. 내부 호스트 세 개만 대상으로 하려던 타깃팅 규칙이 비슷한 이름의 호스트까지 포함했습니다. Prometheus에는 필요 없는 앵커를 쓴 알럿 매처가 조용히 서비스 하나를 빠뜨렸습니다. 부분 문자열에 매칭한 로그 필터가 세려던 에러를 오히려 가렸습니다.

패턴이 지나치게 영리해서 생기는 경우는 드뭅니다. 거의 항상 너무 느슨하거나, 매칭되어야 할 줄에서만 테스트했기 때문입니다. 롤아웃을 게이팅하는 규칙은 매칭되면 안 되는 줄부터 먼저 테스트하세요.

- 모든 호스트명의 점을 이스케이프하세요
- 엔진이 앵커를 자동으로 넣는지 확인하세요
- 일치 줄뿐 아니라 근접 오답도 테스트하세요
- 집합이 작고 안정적이라면 정규식보다 리터럴 목록을 쓰세요

## 값 목록에서 믿을 수 있는 패턴까지

1. **매칭 유형 고르기** — 호스트와 플래그 키 허용 목록에는 정확한 값, 라우트 그룹에는 접두사, 알럿 규칙에는 상태 코드, 앱 버전 기준 롤아웃 타깃팅에는 버전 계열을 고르세요.
2. **엔진 고르기** — 코드와 grep에는 부분 일치 검색을, Prometheus 매처, Alertmanager 라우트, Envoy에는 전체 일치를 쓰세요. 이 선택 하나로 가장 흔한 앵커 실수를 피할 수 있습니다.
3. **테스트 칸에 근접 오답 붙여넣기** — 비슷한 이름의 호스트, 인접한 버전, 범위 바로 밖의 상태 코드를 추가하세요. 그중 하나라도 일치로 나오면 패턴을 복사하기 전에 값을 더 좁히세요.

## 자주 묻는 질문

### 이 정규식 생성기는 무료인가요? 입력한 값이 어디로든 전송되나요?

무료이며 모든 처리는 브라우저에서 이루어집니다. 입력한 값, 생성된 패턴, 테스트 줄은 서버로 전송되지 않습니다. 유일한 요청은 도구가 사용되었음을 기록하는 익명 카운터입니다.

### 출력 패턴은 어떤 정규식 엔진을 대상으로 하나요?

인프라 작업의 대부분은 두 가지 동작으로 해결됩니다. 부분 일치 검색은 JavaScript, Go regexp, grep -E, PCRE에 맞습니다. 이 엔진들은 줄 어디에서든 패턴이 매칭될 수 있으므로, 필요할 때 도구가 ^와 $를 추가합니다. 전체 일치는 Prometheus, Alertmanager, Envoy에 맞습니다. 이 엔진들은 문자열 전체를 매칭으로 보므로, 접두사, 접미사, 포함 규칙이 필요한 곳에 도구가 .*를 추가합니다.

### Prometheus에서 ^와 $ 앵커가 무시되는 이유는 무엇인가요?

Prometheus 레이블 매처는 처음부터 완전히 앵커링됩니다. 표현식 env=~"prod"는 ^(?:prod)$로 평가되므로, grep용으로 작성한 패턴은 예상보다 적게 매칭하거나 아무것도 매칭하지 않을 수 있습니다. 전체 일치 엔진을 고르면 생성기가 Prometheus가 읽는 방식에 맞춰 패턴을 작성합니다.

### 이 패턴은 치명적인 백트래킹을 피하나요?

생성되는 패턴은 리터럴, 범위가 제한된 문자 클래스, 평탄한 대안 목록만 사용합니다. 중첩된 수량자가 없으므로 JavaScript와 PCRE에서 폭주하는 백트래킹의 흔한 원인이 없습니다. Go와 Envoy 같은 RE2 기반 엔진은 어떤 경우에도 선형 시간에 실행됩니다.

### 특수 문자는 어떻게 처리되나요?

모든 리터럴 값은 이스케이프됩니다. 예를 들어 api.internal.example.com은 api\.internal\.example\.com이 되므로, 점이 더 이상 임의의 문자와 매칭되지 않습니다. 손으로 쓴 허용 목록에서 가장 흔한 버그이며, 이 버그가 있으면 api-internal-example-com이 그대로 통과합니다.

### 이 패턴을 기능 플래그 타깃팅 규칙에 사용할 수 있나요?

네, 플래그 플랫폼이 호스트명, 경로, 사용자 이메일 같은 컨텍스트 속성에 대해 정규식 또는 패턴 일치 연산자를 지원한다면 사용할 수 있습니다. 붙여넣기 전에 어떤 엔진을 쓰는지 확인하세요. 정확히 일치하거나 특정 문자열로 시작하는 연산자만 있다면, 정규식보다 리터럴 값 목록이 더 안전합니다.

### 이 도구가 하지 않는 일은 무엇인가요?

예시로부터 패턴을 추론하지 않으며, 숫자 범위나 룩어헤드를 생성하지도 않습니다. 사용자가 입력한 값 목록으로, 읽을 수 있는 규칙을 따라 패턴을 만듭니다. 테스트 줄은 JavaScript 엔진으로 평가되므로, 배포 전에 실제 스택에서 엔진별 동작을 직접 확인하세요.

## 감이 아니라 SLO로 롤아웃을 게이팅하세요

타깃팅 규칙은 누가 변경을 받을지 결정합니다. upstreamapi의 AI Pilot은 변경을 계속 진행할지 결정하고, 에러율이 SLO 임계값을 넘으면 스스로 되돌립니다.

*Call to action: upstreamapi 작동 방식 보기*


## FAQ

### 이 정규식 생성기는 무료인가요? 입력한 값이 어디로든 전송되나요?

무료이며 모든 처리는 브라우저에서 이루어집니다. 입력한 값, 생성된 패턴, 테스트 줄은 서버로 전송되지 않습니다. 유일한 요청은 도구가 사용되었음을 기록하는 익명 카운터입니다.

### 출력 패턴은 어떤 정규식 엔진을 대상으로 하나요?

인프라 작업의 대부분은 두 가지 동작으로 해결됩니다. 부분 일치 검색은 JavaScript, Go regexp, grep -E, PCRE에 맞습니다. 이 엔진들은 줄 어디에서든 패턴이 매칭될 수 있으므로, 필요할 때 도구가 ^와 $를 추가합니다. 전체 일치는 Prometheus, Alertmanager, Envoy에 맞습니다. 이 엔진들은 문자열 전체를 매칭으로 보므로, 접두사, 접미사, 포함 규칙이 필요한 곳에 도구가 .*를 추가합니다.

### Prometheus에서 ^와 $ 앵커가 무시되는 이유는 무엇인가요?

Prometheus 레이블 매처는 처음부터 완전히 앵커링됩니다. 표현식 env=~"prod"는 ^(?:prod)$로 평가되므로, grep용으로 작성한 패턴은 예상보다 적게 매칭하거나 아무것도 매칭하지 않을 수 있습니다. 전체 일치 엔진을 고르면 생성기가 Prometheus가 읽는 방식에 맞춰 패턴을 작성합니다.

### 이 패턴은 치명적인 백트래킹을 피하나요?

생성되는 패턴은 리터럴, 범위가 제한된 문자 클래스, 평탄한 대안 목록만 사용합니다. 중첩된 수량자가 없으므로 JavaScript와 PCRE에서 폭주하는 백트래킹의 흔한 원인이 없습니다. Go와 Envoy 같은 RE2 기반 엔진은 어떤 경우에도 선형 시간에 실행됩니다.

### 특수 문자는 어떻게 처리되나요?

모든 리터럴 값은 이스케이프됩니다. 예를 들어 api.internal.example.com은 api\.internal\.example\.com이 되므로, 점이 더 이상 임의의 문자와 매칭되지 않습니다. 손으로 쓴 허용 목록에서 가장 흔한 버그이며, 이 버그가 있으면 api-internal-example-com이 그대로 통과합니다.

### 이 패턴을 기능 플래그 타깃팅 규칙에 사용할 수 있나요?

네, 플래그 플랫폼이 호스트명, 경로, 사용자 이메일 같은 컨텍스트 속성에 대해 정규식 또는 패턴 일치 연산자를 지원한다면 사용할 수 있습니다. 붙여넣기 전에 어떤 엔진을 쓰는지 확인하세요. 정확히 일치하거나 특정 문자열로 시작하는 연산자만 있다면, 정규식보다 리터럴 값 목록이 더 안전합니다.

### 이 도구가 하지 않는 일은 무엇인가요?

예시로부터 패턴을 추론하지 않으며, 숫자 범위나 룩어헤드를 생성하지도 않습니다. 사용자가 입력한 값 목록으로, 읽을 수 있는 규칙을 따라 패턴을 만듭니다. 테스트 줄은 JavaScript 엔진으로 평가되므로, 배포 전에 실제 스택에서 엔진별 동작을 직접 확인하세요.