정규 표현식
: 일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어
-> JS의 고유 문법이 아니고, 대부분의 프로그래밍 언어와 코드에디터에 내장되어 있음
정규 표현식은 문자열을 대상으로 패턴 매칭 기능을 제공함
-> 패턴 매칭 기능
: 특정 패턴과 일치하는 문자열을 검색하거나 추출 또는 치환할 수 있는 기능
반복문과 조건문 없이 패턴을 정의하고 테스트하는 것으로 간단히 쳬크할 수 있지만, 주석이나 공백을 허용하지 않고 가독성이 좋지 않음
정규 표현식 리터럴
: 일반적인 정규 표현식 객체 생성 방법
-> 패턴과 플래그로 구성됨
RegExp 생성자 함수
: 변수를 사용해 동적으로 RegExp 객쳬를 생성 가능
/* pattern: 정규 표현식의 패턴
* flags= 정규 표현식의 플래그(g, i, m, u, y)
*/
new RegExp(pattern[, flags])
인수로 전달받은 문자열에 대해 정규 표현식의 패턴을 검색하여 매칭 결과를 배열로 반환 (없는 경우 null 반환)
문자열 내의 모든 패턴을 검색하는 /g
를 써도 첫 번째 매칭 결과만 반환함
총 6개, 아래 3개는 중요함
플래그는 옵션이므로 선택적 사용 가능, 순서와 상관없이 하나 이상의 플래그를 동시에 설정 가능
패턴
: 문자열의 일정한 규칙을 표현하기 위해 사용
-> /로 열고 닫으며 따옴표는 생략(포함하면 따옴표까지 패턴에 포함되어 검색됨)
-> 특별한 의미를 가지는 메타문자 또는 기호로 표현 가능
플래그
: 정규 표현식의 검색 방식을 설정하기 위해 사용
.
은 임의의 문자 한 개를 의미 (내용은 상관 없음)const target = 'A AA B BB Aa Bb AAA' ;
// 'A ' 가 최소 n번, 최대 m번 반복되는 문자열을 전역 검색
const regExp = /A{1,2}/g;
target.match(regExp);
+
를 함께 사용const url = 'https://example.com';
// 'http://' 또는 'http://'로 시작하는지 검사
/^https?:\/\//.test(url); // true
const fileName = 'index.html';
/html$/.test(fileName); // true
const target = '12345';
/^\d+$/.test(target); // true
const target = ' Hi!';
/^[\s]+/.test(target); // true
모던 자바스크립트 도서 590p 참고
모던 자바스크립트 도서 590p 참고
모던 자바스크립트 도서 591p 참고
모던 자바스크립트 도서 591p 참고