정규표현식

oching·2022년 4월 28일
0

JavaScript

목록 보기
9/11

FASTCAMPUS ST-FE 3기
Part 4. JavaScript Level up - Ch 3. 정규표현식

정규표현식

특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어.

문자 검색(search) / 문자 대체(replace) / 문자 추출(extract)
위의 세가지 역할을 수행한다.

정규식은 언어환경에 따라 조금씩 문법이 다를 수 있으니 주의할 것.

01. 정규식 생성

1.1 생성자함수방식

new RegExp('표현', '옵션');
//예시
new RegExp('[a-z]', 'gi');

1.2 리터럴방식

/표현/옵션
//예시
/[a-z]/gi
const str = `skljdlkljsdflj  the slkfjslsdj THE dkaljf the`;

// new RegExg(표현식)
const regexp1 = new RegExp('the', 'gi');  //the를 찾아, 대소문자 구분말고
console.log(str.match(regexp1)) //str에서 정규식에 맞는 것만 배열화해줘

// new RegExg(표현식, 플래그)
const regexp2 = /the/gi;
console.log(str.match(regexp2))

//둘다 똑같이 반환한다. 
[ "the", "THE", "the" ] 
정규식 테스팅

https://regex101.com/
https://regexr.com/
https://regexper.com/


02. 메서드

정규식.test(문자열)
일치여부(boolean)반환

정규식.match(문자열)
일치하는 문자열의 배열 반환

문자열.replace(정규식,대체문자)
문자열을 대체하고 대체된 문자열(String) 반환

03. 플래그

g 모든 문자 일치(global)
i 영어 대소문자를 구분 않고 일치(insensitive, ignore case)
m 여러 줄 일치(multi line). 줄을 문자의 시작과 끝으로 끊어서 생각한다.

04. 이스케이프 문자 (백슬래시)

\기호를 통해 본래의 기능에서 벗어나 상태가 바뀌는 문자.
만약

/\.$/gi

라는 정규식 표현이 있으면, .를 정규식 기호로 인식할 수 있다.
이를 방지하기 위해 해당 기호 앞에 탈출시키는 것.

$사인은 $사인 앞에 있는 기호를 하나의 단어로 해석한다는 뜻.

05. 패턴(표현)

^ab 줄 시작에 있는 ab와 일치
ab$ 줄 끝에 있는 ab와 일치
. 임의의 한 문자와 일치
a|b a 또는 b 와 일치
ab? b가 없거나 b와 일치

{3} 3개 연속 일치
{3,} 3개 이상 연속 일치
{3,5} 3개 이상 5개 이하 연속 일치

[abc] a또는 b또는 c
[a-z] a부터 z사이의 문자 구간에 일치(영어소문자)
[A-Z] A부터 Z사이의 문자 구간에 일치(영어대문자)
[0-9] 0부터 9 사이의 문자 구간에 일치(숫자)
[가-힣] 가부터 힣 사이의 문자 구간에 일치(한글)

\w 63개answk(word, 대소영문 52개 + 숫자 10개 + _)에 일치
\b 63개 문자에 일치하지 않는 문자 경계
\d 숫자에 일치
\s 공백에 일치

(?=) 앞쪽 일치
(?<=)뒤쪽 일치

profile
FE Studying

0개의 댓글

관련 채용 정보