본문 바로가기
C.W.K.
Stream
← C.W.K. Quests
🔍

RegEx Quest

최근 수정: 2026-08-08

패턴 매칭 짐승 길들이기

정규식은 어디서나 통하는 텍스트 패턴 언어야. 8개 트랙과 90개 레슨에서 첫 리터럴 문자부터 ReDoS 방어까지 익혀. 마치고 나면 실서비스에 넣을 만한 패턴을 작성하고, 압박 속에서도 디버깅하며, 정규식 대신 진짜 파서를 꺼낼 때를 정확히 판단할 수 있어.

8 tracks · 90 lessons · ~22h · difficulty: beginner-to-advanced

Level 0패턴 호기심
0 XP0/90 lessons0/15 achievements
0/100 XP to next level100 XP to go0% complete

정규식은 개발자의 도구 상자에서 투자 대비 효율이 가장 큰 도구 중 하나야. 한 번 익혀두면 에디터, 셸, 프로그래밍 언어, 데이터베이스, 로그 파이프라인, 코드 일괄 변환, 보안 스캐너까지 어디서든 활용할 수 있어. 이 퀘스트는 "점은 거의 모든 문자와 매칭된다"는 기초부터 원자 그룹, 재귀 패턴, ReDoS 방어까지 안내해.

첫 트랙에서는 생각의 틀부터 세워. 정규식은 패턴 언어이지 파서가 아니야. 트랙 2-5에서는 문자 클래스, 수량자, 그룹, 전후방 탐색 등 문법 전반을 다뤄. 트랙 6에서는 Python, JavaScript, grep, ripgrep, sed, 에디터, 데이터베이스처럼 실제 사용하는 환경에 그 지식을 적용해. 트랙 7에서는 코드에 바로 가져다 쓸 수 있는 실전 패턴 12개를 익히고, 트랙 8에서는 원자 그룹, 재귀, 파국적 백트래킹과 더불어 정규식이 잘못된 도구임을 알아보는 판단력까지 기르며 마무리해.

퀘스트를 마치면 어떤 정규식이든 소리 내어 읽고 한 문장으로 설명할 수 있어야 해. 상세 모드와 이름 붙은 그룹으로 실서비스에 넣을 만한 패턴을 작성하고, 잘못 동작하는 패턴을 regex101에서 1분 안에 진단하며, 배포 전에 ReDoS에 취약한 구조를 알아볼 수 있어야 하지. 무엇보다 정규식을 내려놓고 진짜 파서를 꺼낼 때를 판단할 수 있어야 해.

Tracks

  1. 01🔍정규표현식이 뭔데?

    0/10 lessons

    패턴, 엔진, 그리고 정규식이 더 이상 잡음으로 안 보이는 순간

    정규식은 텍스트 모양을 묘사하는 작은 언어야. 메타문자부터 외우기 전에 그림을 먼저 잡아야 해. 정규식은 압축된 패턴 문법이고, 엔진은 텍스트를 한 글자씩 훑으며 매칭해. 이 트랙에서 그 생각의 틀을 세울 거야. 정규식이 빛나는 자리와 주말을 통째로 잡아먹는 자리, 패턴을 천천히 읽는 법, 앞으로의 실수를 막아줄 황금 규칙 한 줄까지 다뤄.

    Lesson list (10)퀴즈 · 5 문제
  2. 02🔤문자 클래스와 기본기

    0/12 lessons

    기본 재료: 리터럴, 점, 클래스, 앵커, 경계

    앞으로 쓸 정규식은 대부분 열두 개 남짓한 기본 요소로 지어져. 이 트랙에서 리터럴 문자, 만능 점, 대괄호 문자 클래스, \d와 \w 같은 축약 문자 클래스, 의미를 뒤집는 부정형, 매칭 위치를 고정하는 앵커와 단어 경계를 차례로 다뤄. 끝에서는 외운 레시피가 아니라 기본 요소를 직접 조립해 전화번호, 날짜, 이메일 패턴을 만들 거야.

    Lesson list (12)퀴즈 · 5 문제
  3. 03수량자 완전 정복

    0/12 lessons

    몇 번 반복할까? 탐욕적·게으른·소유적 수량자와 엔진의 움직임

    수량자는 바로 앞 조각을 몇 번 반복할지 엔진에 알려줘. <code>*</code>, <code>+</code>, <code>?</code>, <code>{n}</code>, <code>{n,m}</code>처럼 단순해 보이는 연산자가 정규식의 결과와 성능을 크게 바꿔. 이 트랙에서는 모든 수량자의 쓰임, 탐욕적 수량자와 게으른 수량자의 차이, 백트래킹을 막는 소유적 변형, 그리고 실전에서 안전한 수량자를 고르는 법을 다뤄.

    Lesson list (12)퀴즈 · 5 문제
  4. 04🎯그룹과 선택

    0/12 lessons

    캡처, 이름, 재사용 — 그리고 패턴을 분기로 가르는 |

    그룹은 정규식을 단순 검색 도구에서 구조화된 값을 뽑는 도구로 바꿔. 괄호로 수량자 범위를 묶고, 나중에 쓸 값을 캡처하고, 그룹에 이름을 붙이고, 역참조 대상을 만들 수 있어. 선택 연산자 <code>|</code>는 한 패턴에 여러 대안을 넣어 줘. 이 둘을 익히면 이메일을 찾는 데서 그치지 않고 로컬 부분과 도메인을 이름 붙여 따로 추출할 수 있어.

    Lesson list (12)퀴즈 · 5 문제
  5. 05👁️전방 탐색과 후방 탐색

    0/10 lessons

    글자 대신 위치를 매칭하는 너비 0 검사

    전후방 탐색은 현재 위치의 앞뒤를 살피면서도 글자를 소비하지 않아. 그래서 뒤에 단위가 붙은 숫자만 찾거나 특정 접두사가 없는 단어만 찾는 조건을 매칭 결과와 분리할 수 있어. 이 트랙에서는 긍정형·부정형 전방 탐색과 후방 탐색 네 가지, 엔진마다 크게 다른 후방 탐색 지원 범위, 그리고 일반 매칭만으로 풀기 어려운 실전 패턴을 다뤄.

    Lesson list (10)퀴즈 · 5 문제
  6. 06🌐프로그래밍 언어 안의 정규식

    0/10 lessons

    Python, JavaScript, grep, sed, 에디터, DB — 같은 아이디어, 다양한 API

    정규식 문법을 익혔다면 이제 실제 환경에서 써 볼 차례야. Python, JavaScript, 터미널, 편집기, 데이터베이스는 같은 핵심 문법을 서로 다른 API와 플래그, 치환 문법으로 드러내. 이 트랙은 같은 패턴을 환경마다 정확하게 옮겨 쓰는 실전 번역 안내서야.

    Lesson list (10)퀴즈 · 5 문제
  7. 07🛠️실전 패턴

    0/12 lessons

    실제로 파싱하는 거에 훔쳐 쓸 수 있는 패턴

    코드에 바로 적용할 수 있는 패턴 12개를 다뤄. 이메일, URL, IP, 날짜, 로그, CSV, Markdown, SemVer, 파일 경로, 전화번호, 코드 구조, 텍스트 정리마다 합리적인 출발점과 변형 방법을 익혀. 정규식이 놓치는 함정과 전용 파서로 넘어가야 할 기준도 함께 살펴봐. 문제를 만났을 때 패턴을 그대로 베끼는 데서 멈추지 않고 상황에 맞게 검증하고 조정하는 게 목표야.

    Lesson list (12)퀴즈 · 5 문제
  8. 08👑고급 패턴과 숙련

    0/12 lessons

    원자 그룹, 재귀, ReDoS, 최적화 — 그리고 정규식을 내려놓을 때 판단하기

    실용적인 기본기를 넘어 정규식 엔진의 한계까지 살펴봐. 원자 그룹과 소유적 수량자로 백트래킹을 막고, 재귀 패턴과 분기 번호 초기화 그룹, 유니코드 속성 범주를 익혀. 파국적 백트래킹과 ReDoS를 피하는 법, 패턴을 측정하고 디버깅하는 법도 다뤄. 마지막에는 정규식을 내려놓고 파서나 표준 라이브러리를 선택해야 할 순간을 판단해.

    Lesson list (12)퀴즈 · 5 문제
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.