반응형
🔍 자바스크립트 정규 표현식 (RegExp) 완벽 가이드
정규 표현식(Regular Expression, 줄여서 RegExp)은 문자열에서 특정 패턴을 찾거나, 교체하거나, 검증할 수 있게 해주는 강력한 도구입니다. 로그 분석, 이메일 검증, 웹 크롤링 등 다양한 분야에서 사용됩니다.
📌 1. 정규 표현식 기본 문법
자바스크립트에서는 두 가지 방식으로 정규 표현식을 생성할 수 있습니다.
// 방법 1: 리터럴 방식
const regex1 = /hello/;
// 방법 2: 생성자 방식
const regex2 = new RegExp("hello");
✔ 주요 메타 문자
.: 아무 문자 한 개\d: 숫자 (0~9)\w: 알파벳 + 숫자 + 언더스코어\s: 공백 문자[abc]: a, b, 또는 c 중 하나[^abc]: a, b, c를 제외한 문자a{3}: a가 정확히 3번 반복a{3,}: a가 3번 이상 반복a{3,5}: a가 3~5번 반복a?: a가 0번 또는 1번 존재^: 문자열 시작$: 문자열 끝
📌 2. 자주 쓰는 예제 패턴
- 숫자만:
/^\d+$/ - 영문자만:
/^[a-zA-Z]+$/ - 이메일 주소:
/^[\w.-]+@[\w.-]+\.\w+$/ - 핸드폰 번호 (010-1234-5678):
/^010-\d{4}-\d{4}$/ - 우편번호 (5자리):
/^\d{5}$/
📌 3. 메서드로 사용하는 정규 표현식
✔ test()
test()는 문자열이 정규식과 일치하는지 검사하며, 불리언을 반환합니다.
const regex = /\d+/;
console.log(regex.test("123")); // true
console.log(regex.test("abc")); // false
✔ match()
문자열에서 정규식에 일치하는 부분을 배열로 반환합니다.
const str = "My phone is 010-1234-5678";
const result = str.match(/\d{3}-\d{4}-\d{4}/);
console.log(result[0]); // "010-1234-5678"
✔ replace()
일치하는 문자열을 다른 문자열로 치환합니다.
const str = "apple banana apple";
const newStr = str.replace(/apple/g, "orange");
console.log(newStr); // "orange banana orange"
✔ split()
정규식을 기준으로 문자열을 배열로 분할합니다.
const str = "홍길동,김철수|이영희";
const arr = str.split(/[,|]/);
console.log(arr); // ["홍길동", "김철수", "이영희"]
📚 4. 정규 표현식 플래그
g: 전역 검색 (global)i: 대소문자 구분 없음 (ignore case)m: 여러 줄 검색 (multi-line)
/apple/gi
🎯 실전 예제: 아이디 유효성 검사
영문자 또는 숫자로 이루어진 5~12자의 아이디인지 검증하는 예제입니다.
function validateId(id) {
const regex = /^[a-zA-Z0-9]{5,12}$/;
return regex.test(id);
}
console.log(validateId("user123")); // true
console.log(validateId("us!")); // false
반응형
'Programming' 카테고리의 다른 글
| JavaScript 이벤트 루프와 태스크 큐 (93) | 2025.09.16 |
|---|---|
| JavaScript 실행 컨텍스트와 콜 스택 (95) | 2025.09.15 |
| JavaScript JSON과 AJAX (90) | 2025.09.13 |
| JavaScript 에러 처리 (123) | 2025.09.12 |
| JavaScript import와 export (108) | 2025.09.11 |