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

조성원·2023년 4월 25일

정규 표현식이란?

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

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

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



정규 표현식 생성

정규 표현식 리터럴을 사용하는 방법과
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개의 댓글