자바스크립트의 정규표현식
기본 표현법
/정규표현식/플래그
슬래쉬 문자 두 개 사이로 정규식 기호가 들어가는 형태
뒤에는 정규식 플래그가 들어갈 수 있다.
자바스크립트의 정규표현식은 두 가지 방식으로 생성할 수 있다.
const regex = /abc/;
const regex = new RegExp("abc");
const regex = new RegExp(/abc/);
정규식 메서드
const regex = /abc/;
const str = "say abc defg";
str.match(regex);
regex.test("say abc defg");
정규식 플래그
플래그 | 의미 |
---|
i | 대소문자를 구별하지 않고 검색 |
g | 문자열 내의 모든 패턴을 검색 |
m | 문자열의 행이 바뀌어도 계속 검색 |
정규식 패턴
패턴 | 의미 |
---|
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개 문자에 일치하는 경계 |
정규식 기호
기호 | 의미 |
---|
| | OR (a|b) |
[] | 괄호 안의 문자들 중 하나 |
[^문자] | 괄호 안의 문자를 제외한 것 |
^문자열 | 특정 문자열로 시작 |
문자열$ | 특정 문자열로 종료 |
? | 0개 혹은 1개 |
* | 0개 혹은 여러 개 |
+ | 한 개 이상 |
*? | 없음 |
+? | 한 개 |
{n} | n개 반복 |
{Min,} | 최소 Min개 이상 |
{Min, Max} | Min개 이상, Max개 이하 |
정규식 그룹 패턴
/잘보고갑니다.힣/ㅎ