본문 바로가기

소프트웨어/개발관련

03.정규표현식(正規表現式, Regular Expression) 정리

주로 사용하는 정규 표현식의 패턴을 정리해 보면

정규식 패턴

의미

사용 예시

설명

^

(Line)의 시작에서 일치

^abc

abc시작하는

$

(Line)의 끝에서 일치

abc$

abc나는

.

임의의 한 문자와 일치

임의의 문자 3

a|b

a 또는 b와 일치, 인덱스가 작은 것을 우선 반환

a|b

a또는 b와 일치하는

*

0회 이상 연속으로 반복되는 문자와 가능한 많이 일치

a*

a 0~n, {0,}와 동일

*?

0회 이상 연속으로 반복되는 문자와 가능한 적게 일치(lazy)

 

{0}와 동일

+

1회 이상 연속으로 반복되는 문자에 가능한 많이 일치

a+

a 1~0, {1,}와 동일

+?

1회 이상 연속으로 반복되는 문자에 가능한 적게 일치(lazy)

 

{1}와 동일

?

없거나 1회 가능한 많이 일치

a?

a 0또는 1개일 경우

??

없거나 1회 가능한 적게 일치(lazy)

 

 

{3}

3(숫자)개 연속 일치

a{3}

a 3

{3,}

3개 이상 연속 일치

a{3,}

a가 최소 3

{3,5}

3개 이상 5개 이하(3~5) 연속 일치

a{3,5}

a 3~5회 즉, aaa,aaaa,aaaaa

{3,5}?

3개 이상 5개 이하(3~5) 연속 중 가능한 적은 3개 연속 일치

 

{3}와 동일

()

캡처(Capture)할 그룹

 

추출할 문자열을 괄호로 묶는다고 생각하면됨

[abc]

a,b,c 1개와 일치,

 

(.)이나 별표(*) 같은 특수 문자는 []안에서 특수 문자가 아님, /\.[.]/

[a-z]

a부터 z 사이의 문자 구간에 일치(영어 소문자)

[b-f]

b,c,d,e,f 중 하나

[A-Z]

A부터 Z 사이의 문자 구간에 일치(영어 대문자)

[A-C]

A,B,C 중 하나

[0-9]

0부터 9 사이의 문자 구간에 일치(숫자)

[1-6]

1,2,3,4,5,6 중 하나

[-]

가부터 힣 사이의 문자 구간에 일치(한글)

[-]

다부터 바 사이의 문자 구간에 일치(,,,)

[^abc]

a 또는 b 또는 c가 아닌 나머지 문자에 일치(부정)

 

 

\

이스케이프 문자

/\.\?\/\$\^/

정규식내 특수의미 문자를 일반문자화시킴

\b

63개 문자가 아닌 나머지 문자에 일치하는 경계(boundary)

 

대소문자 52 + 숫자 10 + _(underscore)

\B

63개 문자에 일치하는 경계

 

 

\d

숫자(Digit)에 일치

 

 

\D

숫자가 아닌 문자에 일치

 

 

\s

공백(Space, Tab )에 일치

 

 

\S

공백이 아닌 문자에 일치

 

 

\w

63개 문자(Word, 영문 대소문자 52 + 숫자 10_)에 일치

 

 

\W

63개 문자가 아닌 나머지 문자에 일치

 

 

\x

16진수 문자에 일치

/\x61/

a에 일치

0

8진수 문자에 일치

/\141/

a에 일치

\u

유니코드(Unicode) 문자에 일치

/\u0061/

a에 일치

\c

제어(Control) 문자에 일치

 

 

\f

폼 피드(FF, U+000C) 문자에 일치

 

 

\n

줄 바꿈(LF, U+000A) 문자에 일치