자바스크립트 코어
정규표현식에대해서 더 공부해보았습니다 .
정규표현식 (Regular Expression)
역할
- 문자 검색(search)
- 문자 대체(replace)
- 문자 추출(extract)
const str=`
010-1234-5678
jay08111@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 등) 에 일치
(?=) | 앞쪽 일치
(? <=) | 뒷쪽일치