Initial commit to new repository

This commit is contained in:
2026-04-03 18:22:19 +09:00
commit 4458bb0f52
7672 changed files with 452440 additions and 0 deletions

View File

@@ -0,0 +1,86 @@
---
name: regex-helper
label: 정규식 도우미
description: 정규식 패턴을 생성하고, 기존 패턴을 해석하며, 테스트 케이스로 검증합니다.
icon: \uE8FD
tabs: code
allowed-tools:
- regex_tool
- clipboard_tool
- file_read
---
사용자의 요구에 맞는 정규식 패턴을 작성하거나, 기존 패턴을 해석하고 테스트하세요.
## 작업 절차
1. **요구사항 파악**: 사용자의 요청 유형을 판별
- **패턴 생성**: "이메일 주소를 찾는 정규식 만들어줘"
- **패턴 해석**: "이 정규식이 무슨 뜻이야? `^[\w.-]+@[\w.-]+\.\w+$`"
- **패턴 테스트**: "이 패턴이 이 문자열에 매칭되는지 확인해줘"
2. **패턴 작성 또는 분석**:
- 생성: 요구사항을 분석하여 정규식 패턴 작성
- 해석: 패턴을 구성 요소별로 분해하여 설명
3. **테스트 수행**: regex_tool로 패턴을 테스트 케이스에 적용
- 매칭되어야 할 문자열 (positive cases)
- 매칭되지 않아야 할 문자열 (negative cases)
4. **결과 설명**: 매칭 결과와 캡처 그룹을 상세히 설명
5. **최적화 제안**: 성능 또는 가독성 개선이 가능하면 대안 제시
## 패턴 생성 가이드
### 자주 사용되는 패턴
| 용도 | 패턴 | 설명 |
|------|------|------|
| 이메일 | `[\w.-]+@[\w.-]+\.\w{2,}` | 기본 이메일 형식 |
| 전화번호 (한국) | `0\d{1,2}-\d{3,4}-\d{4}` | 010-1234-5678 형식 |
| 날짜 (YYYY-MM-DD) | `\d{4}-(?:0[1-9]\|1[0-2])-(?:0[1-9]\|[12]\d\|3[01])` | ISO 날짜 형식 |
| IP 주소 | `(?:\d{1,3}\.){3}\d{1,3}` | IPv4 기본 |
| URL | `https?://[\w.-]+(?:/[\w./?#&=-]*)?` | HTTP/HTTPS URL |
| 한글만 | `[가-힣]+` | 한글 문자 |
| 사업자등록번호 | `\d{3}-\d{2}-\d{5}` | 123-45-67890 형식 |
### 패턴 해석 형식
패턴을 해석할 때는 다음 구조로 설명하세요:
```
패턴: ^(\d{3})-(\d{2})-(\d{5})$
해석:
^ → 문자열 시작
(\d{3}) → 캡처 그룹 1: 숫자 3자리
- → 하이픈 (리터럴)
(\d{2}) → 캡처 그룹 2: 숫자 2자리
- → 하이픈 (리터럴)
(\d{5}) → 캡처 그룹 3: 숫자 5자리
$ → 문자열 끝
```
## 테스트 형식
테스트 결과는 다음 형식으로 표시하세요:
```
패턴: \d{3}-\d{2}-\d{5}
✅ 매칭 성공:
"123-45-67890" → 전체 매칭: "123-45-67890"
"사업자번호: 123-45-67890입니다" → 부분 매칭: "123-45-67890"
❌ 매칭 실패:
"12-345-67890" → 형식 불일치
"abc-de-fghij" → 숫자가 아닌 문자
```
## 플래그 안내
| 플래그 | 설명 |
|--------|------|
| `i` | 대소문자 무시 |
| `m` | 멀티라인 (^$가 각 줄에 적용) |
| `s` | 점(.)이 줄바꿈도 매칭 |
| `g` | 전역 검색 (모든 매칭) |
## 규칙
- 패턴 생성 시 positive/negative 테스트 케이스를 반드시 포함
- 복잡한 패턴은 주석이 포함된 확장 모드(`x`)로 설명
- 캡처 그룹이 있으면 각 그룹의 의미를 설명
- 성능에 민감한 경우 탐욕적/게으른 수량자 선택 이유를 설명
- 최종 패턴은 clipboard_tool로 클립보드에 복사
한국어로 안내하세요.