FASTCAMPUS ST-FE 3기
Part 4. JavaScript Level up - Ch 3. 정규표현식
특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어.
문자 검색(search) / 문자 대체(replace) / 문자 추출(extract)
위의 세가지 역할을 수행한다.
정규식은 언어환경에 따라 조금씩 문법이 다를 수 있으니 주의할 것.
new RegExp('표현', '옵션');
//예시
new RegExp('[a-z]', 'gi');
/표현/옵션
//예시
/[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/
정규식.test(문자열)
일치여부(boolean)반환
정규식.match(문자열)
일치하는 문자열의 배열 반환
문자열.replace(정규식,대체문자)
문자열을 대체하고 대체된 문자열(String) 반환
g
모든 문자 일치(global)
i
영어 대소문자를 구분 않고 일치(insensitive, ignore case)
m
여러 줄 일치(multi line). 줄을 문자의 시작과 끝으로 끊어서 생각한다.
\기호를 통해 본래의 기능에서 벗어나 상태가 바뀌는 문자.
만약
/\.$/gi
라는 정규식 표현이 있으면, .를 정규식 기호로 인식할 수 있다.
이를 방지하기 위해 해당 기호 앞에 탈출시키는 것.
$사인은 $사인 앞에 있는 기호를 하나의 단어로 해석한다는 뜻.
^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
공백에 일치
(?=)
앞쪽 일치
(?<=)
뒤쪽 일치