정규표현식 작성 및 테스트를 위한 가이드를 실행합니다.
Scanned 6/6/2026
Install via CLI
openskills install excatt/superclaude-plusplus---
name: "regex"
description: "정규표현식 작성 및 테스트를 위한 가이드를 실행합니다."
user-invocable: true
---
# Regex Skill
정규표현식 작성 및 테스트를 위한 가이드를 실행합니다.
## 기본 문법
### 메타 문자
```
. 임의의 한 문자
^ 문자열 시작
$ 문자열 끝
* 0회 이상
+ 1회 이상
? 0 또는 1회
{n} 정확히 n회
{n,} n회 이상
{n,m} n~m회
```
### 문자 클래스
```
[abc] a, b, c 중 하나
[^abc] a, b, c 제외
[a-z] 소문자
[A-Z] 대문자
[0-9] 숫자
\d 숫자 [0-9]
\D 비숫자
\w 단어 문자 [a-zA-Z0-9_]
\W 비단어 문자
\s 공백 문자
\S 비공백 문자
```
### 그룹 & 참조
```
(abc) 캡처 그룹
(?:abc) 비캡처 그룹
(?P<name>abc) 명명된 그룹 (Python)
(?<name>abc) 명명된 그룹 (JS)
\1, \2 역참조
```
### 특수 구문
```
(?=...) 긍정 전방탐색
(?!...) 부정 전방탐색
(?<=...) 긍정 후방탐색
(?<!...) 부정 후방탐색
```
## 자주 쓰는 패턴
### 이메일
```regex
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
```
### URL
```regex
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)
```
### 전화번호 (한국)
```regex
^01[0-9]-?[0-9]{3,4}-?[0-9]{4}$
```
### IP 주소
```regex
^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
```
### 날짜 (YYYY-MM-DD)
```regex
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
```
### 비밀번호 (강력)
```regex
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
```
### 한글
```regex
[가-힣]+
```
### UUID
```regex
^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
```
## 언어별 사용법
### JavaScript
```javascript
const regex = /pattern/flags;
const regex = new RegExp('pattern', 'flags');
// 메서드
regex.test(str) // boolean
str.match(regex) // 배열
str.replace(regex, replacement)
str.split(regex)
```
### Python
```python
import re
re.match(pattern, str) # 시작부터
re.search(pattern, str) # 어디서든
re.findall(pattern, str) # 모든 매칭
re.sub(pattern, repl, str) # 치환
re.compile(pattern) # 컴파일
```
### 플래그
```
g 전역 (모든 매칭)
i 대소문자 무시
m 멀티라인
s dotall (. 이 줄바꿈 포함)
```
## 최적화 팁
### 성능
- 구체적인 패턴 우선
- 불필요한 캡처 그룹 → (?:...)
- 과도한 역추적 방지
- 앵커(^$) 활용
### 가독성
- 주석 모드 사용 (?x)
- 명명된 그룹 사용
- 복잡한 패턴 분리
## 출력 형식
```
## Regex Solution
### Pattern
```regex
/pattern/flags
```
### Explanation
- `part1` - 설명
- `part2` - 설명
### Test Cases
| Input | Match | Captured |
|-------|-------|----------|
| test1 | ✅ | group1 |
| test2 | ❌ | - |
### Code Example
```javascript
const regex = /pattern/g;
const result = str.match(regex);
```
### Edge Cases
- 고려해야 할 예외 상황
```
---
요청에 맞는 정규표현식을 작성하고 설명하세요.
No comments yet. Be the first to comment!