문법 · JS · beginner

정규식 맛보기: test · match · replace

문자열 패턴을 짧게 검사하고 바꿀 때 쓰는 최소 정규식.

배우기 · JavaScript 문법 · 14분 · 9/10 · JavaScript · 문자열 · 정규식

이 트랙 목차 (10)
  1. 1. 값·변수·타입: let, const, Number, String
  2. 2. 조건과 논리: if, else, &&, ||, 삼항
  3. 3. 반복: for, while, for...of, 배열 메서드
  4. 4. 함수: 선언, 화살표, 스코프, 순수 함수
  5. 5. 배열과 문자열 다루기
  6. 6. 객체·Map·Set
  7. 7. 비동기 맛보기 (문제 범위 밖이지만)
  8. 8. 오류 읽기: TypeError · undefined · 스택
  9. 9. 정규식 맛보기: test · match · replace
  10. 10. JSON 파싱 맛보기

리터럴과 test

const re = /^\d+$/;
re.test('12'); // true
re.test('12a'); // false

^ 시작, $ 끝, \d 숫자, + 1회 이상.
코딩 테스트에서는 과한 정규식보다 split/includes가 읽기 쉬운 경우가 많습니다. 패턴이 분명할 때만 쓰세요.

match / matchAll

'a1b22'.match(/\d+/g); // ['1','22']

g 플래그로 전부. 캡처 그룹이 필요하면 괄호와 matchAll을 봅니다.

replace

s.replace(/\s+/g, ' ').trim();
s.replace(/[^a-z0-9]/gi, '');

청소·토큰화에 자주 씁니다. 전역 치환에는 g가 필요합니다.

함정

체크리스트

  1. 시작·끝을 고정해야 하나? (^ $)
  2. g가 필요한가?
  3. 정규식 없이도 indexOf/startsWith로 되나?

연습

연습장에서 이메일 형태가 아니라 숫자만으로 된 문자열인지 test로 판별하는 함수를 만드세요.

한 줄

> 정규식은 짧게. 읽기 어려우면 문자열 API로 풀라.

관련 태그 문제로 바로 연습해 두면 읽기가 남습니다.

예: 공백 정리

function norm(s) {
  return String(s).replace(/\s+/g, ' ').trim();
}

토큰 비교 전에 쓰면 포맷 실패가 줄어듭니다.

한 줄 복습

test로 판별, match로 추출, replace로 청소.

더 깊게

읽은 뒤 연습장에서 예제 코드를 한 번 타이핑해 보세요. 눈으로만 보면 하루 뒤 사라집니다.

관련 원리 카드와 문제 태그로 바로 이어서 풀면, 문법·패턴이 한 묶음으로 남습니다.

막히면 30분 규칙: 입력을 로그로 확인 → 기대/실제 한 줄 비교 → 그래도 안 되면 배우기 레슨으로 잠시 복귀.

관련 짧은 원리

관련 문제