초보자를 위한 정규식(Regex) 기초, 10분 완벽 정리 | 가이드북 제공
실무에서 바로 활용가능한 정규식(Regex) 완벽 정리! 자주 쓰이는 정규식 패턴과 실습 예제까지, 쉽고 간결한 정리로 Regex 기초를 마스터하세요!🔥
이 강의에서는 엑셀에 새로 추가된 REGEX 함수로 정형화되지 않은 텍스트 데이터를 가공하는 방법을 다룹니다. 정규식의 기본 문법과 실무에 꼭 필요한 메타문자 15가지를 정리하고, 휴대폰 번호·이메일·시:분:초 등 자주 쓰이는 패턴 예제와 ChatGPT 프롬프트를 활용해 복잡한 정규식 패턴을 손쉽게 만드는 방법까지 함께 알아봅니다.
관련 자료를 모았어요
더 깊이 살펴볼 수 있는 자료를 한곳에
실무에서 정규식(Regex)이 필요한 이유
엑셀로 업무를 하다 보면 다양한 형식의 데이터를 다루게 됩니다. 아래 그림처럼 깔끔하게 정리된 데이터라면, 빠른 채우기나 간단한 함수만으로도 손쉽게 데이터를 가공할 수 있습니다.

하지만 아래 그림처럼 정형화되지 않은 텍스트 데이터를 가공해야 할 경우, 빠른 채우기나 함수만으로는 해결이 쉽지 않습니다. 이때 정규식(Regex)을 활용하면 복잡한 패턴도 한 번에 처리할 수 있습니다.

엑셀 정규식(Regex), 언제 사용하나요?
실무에서 정규식은 크게 두 가지 상황에 사용합니다.
- 데이터 유효성 검사
: 데이터가 올바른 형식으로 작성되었는지 검증할 때 사용합니다.
예) "010-xxxx-xxxx 형식인가?", "영문, 숫자, 특수문자를 모두 포함한 패턴인가?" 등특정 패턴의 단어 추출 / 변환
: 긴 문장에서 특정 패턴을 가진 항목을 추출하거나 변경할 때 사용합니다.
예) "주민등록번호 뒷 6자리 마스킹", "상품코드 특정 부분 일괄 변경" 등
이번 강의를 통해 정규식을 익혀두면, 데이터 가공 작업의 효율을 크게 높일 수 있습니다. 정규식의 기본 개념부터 실전 활용까지 실무에 꼭 필요한 예제를 통해 하나씩 살펴보겠습니다. 😎
초보자도 10분 안에 이해하는 정규식 기초
정규식을 처음 접하면, 낯선 기호로 가득 차 보여 당황스러울 수 있습니다.😱

하지만 기호를 하나씩 살펴보면 생각보다 어렵지 않습니다. 기본 개념과 주요 메타문자 몇 가지만 익히면, 누구나 정규식을 쉽게 읽고 쓸 수 있습니다.😉
정규식의 기본 형태
정규식은 슬래시("/") 기호 안에 패턴을 작성합니다. 예를 들어 아래와 같이 패턴을 작성하면, 문장에서 apple이라는 단어를 검색합니다.

엑셀 Regex 함수에서는 "슬래시(/)" 기호 없이 패턴만 입력합니다.
'문장에서 apple이라는 단어를 모두 추출합니다.

이번에 새롭게 추가된 REGEX 함수는 'REGEXTEST, REGEXEXTRACT, REGEXREPLACE'로 총 3개입니다. REGEX 관련 함수의 실전 활용 예제는 다음 강의에서 자세히 살펴보겠습니다.
실무에 꼭 필요한 정규식 메타 문자 15가지
정규식에서 특별한 역할을 수행하는 기호를 "메타 문자"라고 합니다. 메타 문자는 아래 15개 기호만 기억해두면 충분합니다.👍
| 구분 | 메타문자 | 설명 |
| Group | | | 또는(OR) 연산자 |
| () | 그룹 지정 | |
| Boundary | ^ | 단어 시작 |
| $ | 단어 끝 | |
| \b | 단어 경계 | |
| \B | 단어 경계가 아님 | |
| Quantifier | ? | 있거나 없거나 (0 or 1) |
| * | 없거나 여러 개 (0 or More) | |
| + | 최소 1회 이상 (1 or More) | |
| {n} | n회 반복 | |
| {min,max} | 최소 ~ 최대 반복 | |
| Escape | \ | 메타문자 기능 해제 |
| Characters | \d | 숫자(0~9) |
| \w | 문자(알파벳, 숫자, _) | |
| \s | 공백 문자 | |
| TextRange | [] | 문자 집합 및 범위 지정 |
1. Group 관련 기호
- | (세로 바) : 또는(or)
"apple|orange"
→ apple과 orange를 검색 - () (괄호) : 패턴을 그룹으로 지정
"(apple|orange) juice"
→ apple juice와 orange juice를 검색
Boundary 관련 기호
- ^ (캐럿) : 단어의 시작 지점
^apple
→ apple로 시작하는 단어를 검색 - $ (달러) : 단어의 끝 지점
juice$
→ juice로 끝나는 단어를 검색 - \b : 단어 경계를 구분
\bcat\b
→ |the| |concatenate| |cat| |is| |category|
- \B : 단어 경계가 아닌 곳을 구분
\Bcat\B
→ t|h|e c|o|n|c|a|t|e|n|a|t|e c|a|t i|s c|a|t|e|g|o|r|y
Quantifier 기호
- ? (물음표) : 0번 또는 1번 발생
ap?le
→ ale 또는 aple - * (별표) : 0번 또는 여러 번 발생
ap*le
→ ale, aple, apple, apppppple, ... - + (더하기) : 1번 또는 여러 번 발생
ap+le
→ aple, apple, appppple, ... - {n} : n번 반복
ap{2}le
→ apple - {min, max} : 최소 ~ 최대 반복
ap{2,4}le
→ apple, appple, apppple
Escape 기호
- \ (백슬래시) : 메타 문자의 기능을 해제하고 일반 문자로 해석
apple?
→ appl, apple (?가 메타문자로 동작)
apple\?
→ apple? 그대로를 검색
Character 기호
- \d : 0부터 9까지의 숫자
1919-03-01
삼일절은 한국이 일본의 식민 통치에 저항하여 일어난 독립운동을 기념하는 날입니다.
It is a Day commemorating the independence movement that arose in Korea in resistance to Japanese colonial rule. - \w : 숫자, 알파벳, 언더바(_)
1919-03-01
삼일절은 한국이 일본의 식민 통치에 저항하여 일어난 독립운동을 기념하는 날입니다.
It is a Day commemorating the independence movement that arose in Korea in resistance to Japanese colonial rule.오빠두Tip : "\w"는 숫자와 알파벳만 검색합니다. 한글은 "[가-힣]" 패턴으로 검색할 수 있습니다.😉 - \s : 공백 문자(탭, 줄바꿈, 공백, 띄어쓰기)
1919-03-01
삼일절은 한국이 일본의 식민 통치에 저항하여 일어난 독립운동을 기념하는 날입니다.
It is a Day commemorating the independence movement that arose in Korea in resistance to Japanese colonial rule.
TextRange 기호
- [abc] : a, b, c를 검색
Apple Banana Carrot brave juice 4,900won
용사의 사과 바나나 당근 주스 4,900원
ㅋㅋㅋ 맛있게 같이 즐겨요! - [ABC] : A, B, C를 검색
Apple Banana Carrot brave juice 4,900won
용사의 사과 바나나 당근 주스 4,900원
ㅋㅋㅋ 맛있게 같이 즐겨요! - [a-z] : a부터 z까지 소문자를 검색
Apple Banana Carrot brave juice 4,900won
용사의 사과 바나나 당근 주스 4,900원
ㅋㅋㅋ 맛있게 같이 즐겨요! - [a-zA-Z0-9] : 소문자, 대문자, 숫자를 검색
Apple Banana Carrot brave juice 4,900won
용사의 사과 바나나 당근 주스 4,900원
ㅋㅋㅋ 맛있게 같이 즐겨요! - [a-zA-Z가-힣ㄱ-ㅎㅏ-ㅣ] : 소문자, 대문자, 한글, 자음, 모음을 검색
Apple Banana Carrot brave juice 4,900won
용사의 사과 바나나 당근 주스 4,900원
ㅋㅋㅋ 맛있게 같이 즐겨요!
실무에서 자주 쓰이는 정규식 패턴 예제
실무에서 자주 사용되는 정규식 패턴을 정리했습니다. 정규식 패턴을 해석하는 방법은 영상 강의 11:04를 참고하세요.
| Regex | 설명 |
| \d{3}-?\d{3,4}-?\d{4} | 휴대폰 번호 |
| \d{2,3}-?\d{3,4}-?\d{4} | 일반 전화번호 |
| [a-zA-Z0-9+-\_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+ | 이메일 |
| (https|http):\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#()?&\/\/=]*) | URL 주소 |
| ([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9] | 시:분 |
| (?:[01]\d|2[0123]):(?:[012345]\d):(?:[012345]\d) | 시:분:초 |
| <\/?[\w\s]*>|<.+[\W]> | HTML 태그 |
| (\b\w+\b)(?=.*\b\1\b) | 중복값 |
| (\b[0-9]+\b)(?=.*\b\1\b) | 중복값(숫자) |
ChatGPT로 정규식 패턴 만들기
지금까지 정규식의 기본 개념과 실무에 꼭 필요한 메타문자를 살펴봤습니다. 다만 복잡한 패턴의 정규식을 처음부터 직접 작성하는 일은 부담스러울 수 있습니다.
이런 경우에는 ChatGPT를 활용해 정규식 초안을 생성한 뒤, 지금까지 배운 내용을 바탕으로 필요한 부분을 수정하는 방식이 효율적입니다.
ChatGPT에게 정규식을 요청할 때에는 아래 프롬프트를 활용해보세요.
너는 지금부터 Regex 생성기로 행동해.
주어진 단어를 추출하는 Regex를 작성할 것.
단어의 패턴을 이해하고 최대한 비슷한 구조의 다양한 단어를 추출하는 Regex로 작성해 줘.
Regex의 동작 설명이나 예제는 작성하지 말고, Regex만 답변해.
#단어#
예를 들어 아래와 같이 요청하면 주민등록번호를 추출하는 정규식 패턴을 만들 수 있습니다.
너는 지금부터 Regex 생성기로 행동해.
주어진 단어를 추출하는 Regex를 작성할 것.
단어의 패턴을 이해하고 최대한 비슷한 구조의 다양한 단어를 추출하는 Regex로 작성해 줘.
Regex의 동작 설명이나 예제는 작성하지 말고, Regex만 답변해.
#단어#
850101-1234567
920305-2345678
010725-3456789

근데 M365에 regex 함수가 없다니 너무 서운하네요 ㅜㅜ
MS에서 어서 업뎃좀 해주면 좋겠네요~~
너무 유용하게 사용할 거 같은데 아쉽습니다
강의번호 20번 ->21번으로 수정해 주셔야 할 것 같습니다.
감사합니다.
원래 중간에 18강이 있으나, 18강이 누락되어 임시로 20강으로 정리하였습니다.
강의 번호는 추후 업데이트 하겠습니다. 확인해주셔서 감사드립니다!🙇♂️
너무너무 감사합니다. 그런데 M365에서는 언제 사용 가능한걸까요.. ㅠㅠ
M365 일반 릴리즈에서는 24년 하반기 업데이트 예정인것으로 알고 있습니다. :)
감사합니다.