Notice
Recent Posts
Recent Comments
반응형
오늘도 공부
시리즈 3편 – 정규표현식(RegExp)의 핵심 기호들 본문
반응형
📝 개발자 필수 기호 시리즈 3편
정규표현식(RegExp) 핵심 기호: ^, $, *, +, |
정규표현식(Regular Expression, 줄여서 Regex)은 문자열을 검사하거나 가공할 때 쓰이는 “문자열 패턴 언어”입니다.
낯설어 보이는 기호들이 많지만, 핵심만 이해하면 80%는 쉽게 커버할 수 있습니다.
이번 편에서는 그중에서도 가장 자주 쓰이는 다섯 친구 ^, $, *, +, | 를 집중적으로 파헤쳐 보겠습니다.
1. 캐럿 (Caret) ^ → “문자열의 시작”
- 의미: 문자열이 특정 패턴으로 시작해야 함을 지정.
^Hello
👉 “Hello”로 시작하는 문자열만 매칭
- "Hello World" ✅
- "Well, Hello" ❌
2. 달러 (Dollar) $ → “문자열의 끝”
- 의미: 문자열이 특정 패턴으로 끝나야 함을 지정.
world$
👉 “world”로 끝나는 문자열만 매칭
- "Hello world" ✅
- "world peace" ❌
3. 애스터리스크 (Asterisk) * → “0번 이상 반복”
- 의미: 앞의 문자가 없어도 되고, 여러 번 반복해도 됨.
go*gle
👉 "gogle", "google", "gooogle" … 다 매칭
- "ggle" ✅ (o가 0번)
- "gooooooooooooogle" ✅
4. 플러스 (Plus) + → “1번 이상 반복”
- 의미: 앞의 문자가 최소 한 번 이상은 나와야 함.
go+gle
👉 "google", "gooogle" … 매칭
- "ggle" ❌ (o가 최소 1번은 있어야 함)
- "gooooooogle" ✅
5. 파이프 (Pipe) | → “OR 조건”
- 의미: 여러 패턴 중 하나라도 매칭되면 OK.
cat|dog
👉 "cat" 또는 "dog" 포함 문자열 매칭
- "I love cat" ✅
- "dog lover" ✅
- "I love fish" ❌
6. 실전 예제
이메일 검사 (간단 버전)
^[a-zA-Z0-9._]+@[a-z]+\.[a-z]{2,}$
- ^ : 문자열 시작
- [a-zA-Z0-9._]+ : 영문/숫자/._ 조합, 1번 이상
- @ : 반드시 @ 포함
- [a-z]+ : 도메인명은 영문 소문자 1번 이상
- \. : . 문자
- [a-z]{2,} : 최소 2글자 확장자
- $ : 문자열 끝
👉 "hello123@test.com" ✅
👉 "bad@email" ❌
URL 검사 (아주 기초 버전)
^https?://(www\.)?[a-z0-9.-]+\.[a-z]{2,}$
- https? : http 또는 https
- (www\.)? : www.가 있어도 되고 없어도 됨
- [a-z0-9.-]+ : 도메인 본문
- \.[a-z]{2,} : 확장자(.com, .net 등)
👉 "https://google.com" ✅
👉 "http://www.example.org" ✅
👉 "ftp://site.com" ❌
7. 요약 & 기억 팁
기호 의미 예시 결과
^ | 문자열 시작 | ^Hello | "Hello world" ✅ |
$ | 문자열 끝 | world$ | "big world" ✅ |
* | 0번 이상 반복 | go*gle | "gogle", "google" |
+ | 1번 이상 반복 | go+gle | "google" ✅, "ggle" ❌ |
` | ` | OR 조건 | `cat |
📌 기억하기:
- ^ = “시작점”
- $ = “끝점”
- * = “0번 이상”
- + = “1번 이상”
- | = “또는(OR)”
✨ 마무리
정규표현식은 겉보기에 복잡해 보여도, 이렇게 기호별로 쪼개서 이해하면 생각보다 단순합니다.
이번 편의 다섯 친구만 알아도 간단한 문자열 검사는 대부분 해결할 수 있어요.
반응형
'개발상식' 카테고리의 다른 글
시리즈 5편 – Git에서 자주 보는 기호와 패턴 (0) | 2025.08.19 |
---|---|
시리즈 4편 – 리눅스 터미널에서 자주 쓰이는 기호들 (0) | 2025.08.19 |
시리즈 2편 – 코드 작성에서 자주 만나는 기호들 (1) | 2025.08.19 |
시리즈 1편 - 개발자 필수 기호 시리즈 1편 (1) | 2025.08.19 |