정규표현식 문법 정리

Posted by Daehan Kang on 2023-09-15
javascript

정규식 플래그 정의

패턴 의미
i 대소문자를 구별하지 않고 검색
g 문자열 내의 모든 패턴을 검색한다
m 문자열의 행이 바뀌더라도 검색을 계속함.
s .​(모든 문자 정규식)이 개행 문자 \n도 포함하도록
u unicode 유니코드 전체를 지원
y 문자 내 특정 위치에서 검색을 진행하는 ‘sticky’ 모드를 활성화


정규식 기호

패턴 의미
a-zA-Z 영어알파벳(-으로 범위 지정)
ㄱ-ㅎ가-힣 한글 문자(-으로 범위 지정)
0-9 숫자(-으로 범위 지정)
. 모든 문자열(숫자, 한글, 영어, 특수기호, 공백 모두)
단, 줄바꿈 X
\d 숫자
\D 숫자가 아닌 것
\w 밑줄 문자를 포함한 영숫자 문자에 대응
[A-Za-z0-9_] 와 동일
\W \w 가 아닌 것
\s space 공백
\S space 공백이 아닌 것
\특수기호 특수기호 * ^ & ! ? …등
\b 63개 문자(영문 대소문자 52개 + 숫자 10개 + _(underscore))가 아닌 나머지 문자에 일치하는 경계(boundary)
\B 63개 문자에 일치하는 경계
\x 16진수 문자에 일치
/\x61/는 a에 일치
\0 8진수 문자에 일치
/\141/은 a에 일치
\u 유니코드(Unicode) 문자에 일치
/\u0061/는 a에 일치
\c 제어(Control) 문자에 일치
\f 폼 피드(FF, U+000C) 문자에 일치
\n 줄 바꿈(LF, U+000A) 문자에 일치
\r 캐리지 리턴(CR, U+000D) 문자에 일치
\t 탭 (U+0009) 문자에 일치