무기/자바스크립트

<JavaScript> 코딩테스트를 위한 핵심 문법 정리 - 정규표현식

디벅잉 2021. 11. 5. 17:50
728x90

 

🎯 일정에 당장 급한 코딩테스트가 생겨 빠르게 정리해보는 JS 핵심 문법

📌 참고자료 - 모던 자바스크립트 Deep Dive (이웅모 / 위키북스)

 

2. 정규표현식(RegExp)

*정규표현식의 표현 방법 - /정규표현식/플래그 (ex. /[a-z]/g)

 

2-1. 플래그

i(Ignore case) - 대소문자를 구별하지 않고 한 번만 검색 (전체 검색시 g와 같이 사용 - /ig)

g(Global) - 대소문자를 구별하여 전체를 검색 (대소문자 구별하지 않으려면 i와 같이 사용 - /ig)

 

2-2. 반복검색 - {}

const target = 'A AA BB Aa Bb AAA';

// 'A'가 최소 1번, 최대 2번 반복되는 문자열을 전역 검색한다.
const regExp = /A{1,2}/g;

// 매칭결과를 배열로 return
target.match(regExp); // -> ['A', 'AA', 'A', 'AA', 'A']

// 'A'가 최소 1번 이상 반복되는 문자열을 전역 검색한다.
const regExp2 = /A{1,}/g;

target.match(regExp2); // -> ['A', 'AA', 'A', 'AAA']

 

2-3. 범위 지정

알파벳 대문자 - A-Z

알파벳 소문자 - a-z

숫자 - 0-9 또는 \d

 

2-4. OR 검색 - []

const target = 'AA BB Aa Bb 12';

// 'A' ~ 'Z' 또는 'a' ~ 'z'가 한 번 이상 반복되는 문자열을 전역 검색한다.
// [] 내의 문자는 or로 동작한다.
const regExp = /[A-Za-z]+/g;

target.match(regExp); // -> ['AA', 'BB', 'Aa', 'Bb']

 

2-5. NOT 검색 - ^

const target = 'AA BB 12 Aa Bb';

// 숫자를 제외한 문자열을 검색
const regExp = /[^0-9]+/g;

target.match(regExp); // -> ["AA BB Aa Bb"]

 

2-6. 특정단어로 시작 또는 끝나는지 검사 - ^, $

// 특정 단어로 시작하는지 검사
const url = 'https://example.com';

/^https?:\/\//.test(url); // -> true

// 특정 단어로 끝나는지 검사
const fileName = 'index.html';

/html$/.test(fileName); // -> true

 

2-7. 특수문자 포함여부 검사

const target = 'abc#123';

target.replace(/[^A-Za-z0-9]/gi, ''); // -> abc123

 

728x90