정규표현식이란?
특정한 규칙을 가진 문자열 집합을 표현하는데 사용하는 형식 언어.
정규표현식을 이용하면 입력된 문자열에 대한 특정 조건 검색, 일치 여부 판단, 치환에 대한 조건문을 간단히 처리할 수 있다.
작성한 정규표현식을 그림으로 나타내주는 사이트
작성한 정규표현식 테스트 사이트
정규 표현식 객체 생성 방법
1) const regExp = new RegExp("정규표현식");
2) const regExp = /정규표현식/;
-> 양쪽 '/' 기호는 정규 표현식의 리터럴 표기법
문자열 패턴 확인 메서드(함수)
1) regExp.test(문자열)
-> 문자열에 정규표현식과 일치하는 패턴이 있을 경우 true, 없으면 false
2) regExp.exec(문자열)
-> 문자열에 정규표현식과 일치하는 패턴이 있을 경우
처음 매칭되는 문자열을 반환
없으면 null 반환
문자열의 패턴을 나타내는 문자.
문자마다 지정된 특별한 뜻이 담겨있다.
a (일반문자열) : 문자열 내에 a라는 문자열이 존재하는 검색
[abcd] : 문자열 내에 a,b,c,d 중 하나라도 일치하는 문자가 있는지 검색
^ (캐럿) : 문자열의 시작을 의미
$ (달러) : 문자열의 끝을 의미
\w (단어) : 아무 글자 (단, 띄어쓰기, 특수문자, 한글 X)
\d (숫자) : 아무 숫자 (0~9 중 하나)
\s (공간) : 아무 공백 문자 (띄어쓰기, 엔터, 탭 등)
[0-9] : 0부터 9까지 모든 숫자
[ㄱ-힣] : ㄱ부터 힣까지 모든 한글
[a-z] : 모든 영어 소문자
[A-Z] : 모든 영어 대문자
* 특수문자의 경우 각각을 입력하는 방법밖엔 없음
* 수량 관련 메타 문자
a{5} : a라는 문자가 5개 존재
a{2,5} : a가 2개 이상 5개이하
a{2,} : a가 2개 이상
a{,5} : a기 5개 이하
* : 0개 이상
+ : 1개 이상
? : 0개 또는 1개
. : 1칸 (개행 문자를 제외한 문자 하나)
\*, \+, \?, \. : *, +, ?, . 을 검색하려면