개발을 하며 특정 문자를 바꾸거나 받은 문자열이 유효한지 검사를 하거나, 개발자가 제한한 검사기준을 통과했는지 등등을 검사,평가교환할때 정규 표현식을 사용하면 편리합니다.
**정규 표현식(regular expression)**이란 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식언어로써 패턴을 사용해 문자열의 검색과 치환을 돕습니다. (자세히)
그리고 RegExp 오브젝트란 자바스크립트에서 지원하는 오브젝트로써 패턴을 사용해 텍스트를 판별할 때 사용합니다. 이 객체는 리터럴 표기법과 생성자로써 생성할 수 있는데,
/ab+c/i
new RegExp(/ab+c/, 'i');//리터럴
new RegExp('ab+c', 'i');//생성자
lastindex는 RegExp오브젝트의 내부 프로퍼티 중 하나로써 매치 시작 위치를 설정합니다.
기본값은 0으로 플래그에 따라 사용여부가 결정됩니다.
기본적인 사용 형태
const value = "ABC";
const obj = new RegExp("A", "g");
console.log(obj.test(value));//true
const reg = /A/g;
console.log(reg.test(value));//true
const obj = new RegExp("A", "g");
⇒ RegExp 인스턴스를 생성하며 A
로 매치대상에 매치합니다. 두 번째 파라미터인 "g"는 플래그로써 모두 매치한다는 의미입니다.
console.log(obj.test(value));
⇒ obj에 설정된 A를 ABC에 매치하여 A
가 있는지 검색하는데 있기 때문에 true를 반환합니다.
const reg = /A/g;
⇒ 정규 표현식 리터럴을 사용한 형태로 new
연산자를 사용하진 않았지만 1번과 동일합니다.
g 플래그