[Javascript] 자바스크립트의 정규표현식

Jiyoung Park·2023년 3월 23일
0

자바스크립트의 정규표현식

기본 표현법

/정규표현식/플래그

슬래쉬 문자 두 개 사이로 정규식 기호가 들어가는 형태
뒤에는 정규식 플래그가 들어갈 수 있다.


자바스크립트의 정규표현식은 두 가지 방식으로 생성할 수 있다.
// 1. 리터럴 방식
const regex = /abc/;

// 2. 생성자 방식
const regex = new RegExp("abc");
const regex = new RegExp(/abc/);

정규식 메서드

const regex = /abc/;

// 1. ("문자열").match(/regex/flag)
// : abc 이라는 단어가 있는지 필터링
const str = "say abc defg";
str.match(regex); // ['abc']

// 2. (/regex/).test("문자열")
// : "문자열"이 정규표현식과 매칭되면 true, 아니면 false
regex.test("say abc defg"); // true

정규식 플래그

플래그의미
i대소문자를 구별하지 않고 검색
g문자열 내의 모든 패턴을 검색
m문자열의 행이 바뀌어도 계속 검색

정규식 패턴

패턴의미
a-zA-Z알파벳(-으로 범위 지정)
ㄱ-ㅎ가-힣한글(-으로 범위 지정)
0-9숫자(-으로 범위 지정)
.모든 문자열(숫자, 한글, 영어, 특수기호, 공백 모두). 단, 줄바꿈 X
\d숫자
\D숫자가 아닌 문자
\w밑줄 문자를 포함한 영숫자 문자에 대응. [A-Za-z0-9_] 와 동일
\W\w 가 아닌 문자
\sspace 공백
\Sspace 공백이 아닌 것
\특수기호특수기호 * \^ \& ! \? ...등
\b63개 문자(영문 대소문자 52개 + 숫자 10개 + _(underscore))가 아닌 나머지 문자에 일치하는 경계(boundary)
\B63개 문자에 일치하는 경계

정규식 기호

기호의미
|OR (a|b)
[]괄호 안의 문자들 중 하나
[^문자]괄호 안의 문자를 제외한 것
^문자열특정 문자열로 시작
문자열$특정 문자열로 종료
?0개 혹은 1개
*0개 혹은 여러 개
+한 개 이상
*?없음
+?한 개
{n}n개 반복
{Min,}최소 Min개 이상
{Min, Max}Min개 이상, Max개 이하

정규식 그룹 패턴

패턴의미
()그룹화 및 캡쳐

1개의 댓글

comment-user-thumbnail
2024년 3월 28일

/잘보고갑니다.힣/ㅎ

답글 달기