JavaScript 정규식 (Regular Expression) 정리

LeeKyungwon·2026년 3월 7일

공부 정리

목록 보기
3/24

정규식(Regular Expression)은 문자열에서 특정 패턴을 찾거나 검사할 때 사용하는 문법이다.

기본 형태

/패턴/옵션

/abc/

→ 문자열에서 "abc" 찾기


1. 문자 패턴

특정 문자 찾기

/a/

→ 문자열에서 "a" 찾기


여러 문자 중 하나

/[abc]/

"a" 또는 "b" 또는 "c"

"bat".match(/[abc]/)
// "b"

범위 지정

/[a-z]/   // 소문자
/[A-Z]/   // 대문자
/[0-9]/   // 숫자

"hello1".match(/[0-9]/)
// "1"

2. 특수 문자

숫자

\d

[0-9]와 동일

숫자가 아닌 것

\D

문자 + 숫자 + _

\w

[A-Za-z0-9_]

공백

\s

3. 개수 지정

하나 이상

+

/a+/

"a", "aa", "aaa"


0개 이상

*

0 또는 1

?

정확한 개수

{3}

/\d{3}/

→ 숫자 3개


범위 지정

{2,5}

→ 2~5개


4. 위치 지정

시작

^

/^a/

a로 시작하는 문자열


$

/a$/

a로 끝나는 문자열


5. 옵션 (flag)

g (global)

문자열 전체에서 찾기

/a/g

i (ignore case)

대소문자 구분 없이 찾기

/a/i

m (multi line)

여러 줄 문자열에서 동작


6. JavaScript에서 사용하는 방법

match()

패턴과 일치하는 문자열을 배열로 반환

"banana".match(/a/g)
// ["a","a","a"]

test()

패턴이 존재하는지 true / false 반환

/a/.test("apple")
// true

replace()

패턴을 다른 문자열로 치환

"abc123".replace(/\d/g,"")
// "abc"

7. 코딩테스트에서 자주 쓰는 정규식

숫자 제거

/\d/g
"abc123".replace(/\d/g,"")
// "abc"

숫자만 추출

/\d+/g

알파벳만

/[a-zA-Z]/g

이진수에서 1 개수 세기

n.toString(2).match(/1/g).length

10 -> "1010"

"1010".match(/1/g)
// ["1","1"]

length
// 2

핵심 정리

[ ]  문자 집합
\d   숫자
+    1개 이상
*    0개 이상
^    시작
$    끝
g    전체 검색

0개의 댓글