본문 바로가기
Javascript/자바스크립트 문법

[Javascript] 정규표현식

by isfp_yykkng 2024. 7. 22.

[Javascript] 정규표현식

정규표현식이란 문자열을 처리하는 방법 중 하나로 특정한 조건의 문자를 "검색" 하거나 "치환" 하는 과정을 매우 간편하게 처리할 수 있게 도와주는 수단이다.

1. 매칭 패턴

패턴 의미
a-zA-Z  영어알파벳(-으로 범위 지정)
-ㅎ가- 한글 문자(-으로 범위 지정)
0-9 숫자(-으로 범위 지정)
. 모든 문자열(숫자, 한글, 영어, 특수기호, 공백 모두! , 줄바꿈X)
\d 숫자
\D 숫자가 아닌 것
\w 영어 알파벳, 숫자, 언더스코어(_)
\W /w 가 아닌 것
\s space 공백
\S space 공백이 아닌 것
\특수기호
특수기호

2. 검색 패턴

패턴 의미
[] 괄호 안의 문자들 중 하나
[^문자] 괄호 안의 문자를 제외한 것
^문자열 특정 문자열로 시작
문자열$ 특정 문자열로 끝
() 그룹 검색 및 분류 (-> match 메서드에서 그룹별로 묶어줌)
(?: voxjs) 그룹 검색 (분류는 안함)
\b 단어의 처음/끝
\B 단어의 처음/끝이 아님

3. 수량 패턴

패턴 의미
? 최대 한번 (없음)
* 없거나 있거나 (없음)
+ 최소 한개 (한개)
{n} n개
{Min , } 최소 Min개 이상
{Min , Max} 최소 Min 개 이상, 최대 Max 개 이하

4. 정규 표현식 플래그 ⭐

플래그 의미
g Global : 모든 문자 검색
i Ignore Case : 대소문자 구분 안함
m Multi Line : 여러 행의 문자열에 대해 검색

통합 : 정규표현식 메서드

메서드 의미
<문자열>.match( /정규표현식/플래그 ) 문자열에서 정규표현식에 매칭되는 항목들을 배열로 반환
<문자열>.replace( /정규표현식/, <대체문자열> ) 정규표현식에 매칭되는 항목을 대체문자열로 변환
<문자열>.split( 정규표현식 ) 문자열을 정규표현식에 매칭되는 항목으로 쪼개어 배열로 반환
(정규표현식).test( "문자열" ) 문자열이 정규표현식과 매칭되면 true, 아니면 false 반환
(정규표현식).exec("문자열") match메서드와 유사함 (단, 무조건 첫번째 매칭 결과만 반환)

 

위 표현식을 통한 예시를 보겠습니다.

let str = "45,65,6sdf54";
str.replace([/D]/gi, "");
console.log(str);  //4565654

 

괄호 안의 문자열 ( [] ) 중 매칭되는 모든 문자 ( g ) 를 대소문자 구분 없이 ( i ) 문자가 아닌 것 ( \D )을 "" 치환 한다.