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 )을 "" 치환 한다.