Regular Expression

들어가기 전에

udemy 강의 중 vanila js 프로젝트 중 회원가입 구현에서 사용해보았다.
비밀번호는 특수문자, 숫자, 영어 대소문자를 포함하여 8자 이상 등의 조건은 대개 검색하면 활용할 수 있도록 나와있다. 
하지만 정규표현식을 해석할 수 있도록 기본부터 이해하도록 한다.

정규 표현식은

일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어이다.

문자열에서 특정 내용을 1.찾거나 2.대체하거나 3.발췌하는데 사용

자바스크립트의 고유 문법이 아님, 자바스크립트는 ES3부터 도입. 대부분 언어, 에디터에 내장되어 있음.

사용 예

const targetStr = 'This is a pen.';
const regexr = /is/ig;

// RegExp 객체의 메소드
console.log(regexr.exec(targetStr)); // [ 'is', index: 2, input: 'This is a pen.' ]
console.log(regexr.test(targetStr)); // true

// String 객체의 메소드
console.log(targetStr.match(regexr)); // [ 'is', 'is' ]
console.log(targetStr.replace(regexr, 'IS')); // ThIS IS a pen.
// String.prototype.search는 검색된 문자열의 첫번째 인덱스를 반환한다.
console.log(targetStr.search(regexr)); // 2 ← index
console.log(targetStr.split(regexr));  // [ 'Th', ' ', ' a pen.' ]