본문 바로가기

카테고리 없음

2021년 12월 27일 개발일지

자바스크립트 코어

 

정규표현식에대해서 더 공부해보았습니다 .

 

정규표현식 (Regular Expression) 

 

역할

- 문자 검색(search)

- 문자 대체(replace)

- 문자 추출(extract)

 

const str=`

010-1234-5678

jay08111@naver.com

https://www.naver.com 

aabbcccccdd

The quich brown fox jumps over the lazy dog

`

const regExp = new RegExp('the' , 'gi' );

console.log(str.match(regExp));

// [The,the] 

 

new RegExp 생성자 첫번째 인수는 찾고싶은 단어 , 두번째인수의 g는 글로벌 즉 모든 the를 찾으라는 내용이고 ,

i는 대소문자 구분없이라는 뜻입니다 .'

 

리터럴 방식 : 

const regExp = /the/gi 

 

각종 메소드들을 이용해 원하는 작업을 할 수 있습니다 .

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

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

replace | 문자열.replace(정규식, 대체문자) | 일치하는 문자를 대체 

 

플래그 (옵션)

 

g | 모든 문자 일치 (global)

i | 영어 대소문자를 구분않고 일치 (ignore case)

m | 여러 줄 일치 (multi line)

 

백슬래쉬 기호

백슬래쉬 기호는 이스케이프 입니다 .

이 기호는 정규표현식안에 데이터를 문자형으로 바꾼다는 의미를 가지고 있습니다 .

보통 . 과 같이 사용합니다 .

 

 

패턴(표현)

. | 임의의 한 문자와 일치

^ab | 줄(Line) 시작에 있는 ab와 일치

ab$ | 줄(Line) 끝에 있는 ab와 일치 

 

a|b | a 또는 b 와 일치

ab? | b가 없거나 b와 일치

{3} | 3개 연속 일치

 

{3,} | 3개 이상 연속 일치

{3,5} | 3개 이상 5개 이하 (3~5개) 연속 일치

[abc] | a 또는 b 또는 c 

 

[a-z] | a 부터 z 사이의 문자 구간에 일치 (영어 소문자)

[A-Z] | A부터 Z사이의 문자 구간에 일치 (영어 대문자)

[0-9] | 0부터 9 사이의 문자 구간에 일치 (숫자)

 

[가-힣] | 가 부터 힣 사이의 문자 구간에 일치 (한글)

백슬래쉬w | 63개 문자 (Word , 대소영문52개 + 숫자10개 + _) 에 일치

백슬래쉬b  | 63개 문자에 일치하지 않는 문자 경계(Boundary)

백슬래쉬d  | 숫자(Digit)에 일치 

 

백슬래쉬s  | 공백(Space,Tab 등) 에 일치

(?=)  | 앞쪽 일치 

(? <=)  | 뒷쪽일치