정규 표현식 알아보기 [모던 자바스크립트 Deep Dive : 31장 정규 표현식]

조성원·2023년 4월 25일
0

정규 표현식이란?

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

정규 표현식은 문자열을 대상으로 패턴 매칭 기능을 제공합니다.
패턴 매칭 기능은
특정 패턴과 일치하는 문자열을 검색, 추출, 치환할 수 있는 기능입니다.

이를 통해 회원가입 등의 상황에서 유용하게 활용할 수 있습니다.



정규 표현식 생성

정규 표현식 리터럴을 사용하는 방법과
RegExp 생성자 함수를 사용하는 방법이 있지만,
일반적으로 정규 표현식 리터럴을 사용합니다.

const regexp = /regexp/i;

// 패턴: regexp
// 플래그: i
// 문자열에 is가 있는지 확인
const target = 'Is this all there is?';
const regexp = /is/i;

// 패턴: is
// 플래그: i -> 대소문자를 구별하지 않고 검색

regexp.test(target) // true



정규 표현식 메서드

RegExp.prototype.exec

exec 메서드는
패턴을 검색하여 결과를 배열로 반환합니다.

const target = 'Is this all there is?';
const regexp = /is/;

regexp.exec(target)
// ['is', index: 5, input: 'Is this all there is?', groups: undefined]

RegExp.prototype.test

exec 메서드는
패턴을 검색하여 결과를 boolean 값으로 반환합니다.

const target = 'Is this all there is?';
const regexp = /is/;

regexp.test(target)
// true



자주 사용하는 정규 표현식

특정 단어로 시작하는지 검사

// http 또는 https로 시작하는지 검사
const url = 'https://example.com';
const regexp = /^https?/

regexp.test(url)
// true

특정 단어로 끝나는지 검사

// html로 끝나는지 검사
const fileName = 'index.html';
const regexp = /html$/

regexp.test(fileName)
// true

아이디로 사용 가능한지 검사

// 알파벳 대소문자 또는 숫자가 4~10 자리인지 확인
const id = 'abc123';
const regexp = /^[A-Za-z0-9]{4,10}$/

regexp.test(id)
// true

메일 주소 형식에 맞는지 검사

// 알파벳 대소문자 또는 숫자가 4~10 자리인지 확인
const id = 'abc123';
const regexp = /^[A-Za-z0-9]{4,10}$/

regexp.test(id)
// true
profile
IT 트렌드에 관심이 많은 프론트엔드 개발자

0개의 댓글