정규표현식(예제)

9999·2022년 2월 20일
0

JavaScript

목록 보기
9/13

일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어입니다. 자바스크립트 고유 문법이 아니며, 대부분의 프로그래밍 언어와 코드 에디터에 내장되어 있습니다. 문자열을 대상으로 코드 패턴 매칭 기능을 제공합니다. 약간의 기능을 알고 봐야 풀 수 있는 예제를 만들어봤습니다.

이메일 regExp

이메일로 예를 들자면, @, .이 한개씩 들어갑니다.

const email = "admin@gmail.com";

const regExp = /[a-zA-Z0-9]+@[a-z]+\.com/g;
// 이런식으로 만들 수 있습니다.

완전 암호문같지 않나요? 나눠서 한 번 알아보겠습니다.

[a-z] -> // 소문자a부터 z까지
[A-Z] -> // 대문자A부터 Z까지
[0-9] -> // 0부터 9까지
[a-zA-Z0-9]+ => // 위 3가지 경우를 모두 포함.

@ 앞부분은 이렇게 아무 문자나 매칭가능하게 만들었습니다. +는 1개 이상 나오는 것들을 의미합니다. 중복되는 문자가 올 수도 있으니까요.

@[a-z]+\.com -> // @뒤에 a-z까지 나오고 .com을 확인합니다.
								// 그냥 문자만 입력하면 그 문자를 인식합니다. -> com

.앞에 \기호를 사용하는 이유는 그냥 .이 나오면 그 자리는 그냥 아무거나 나오는 자리라고 지정됩니다. 따라서 .[]{}()\^$|?*+ 이런 기호들은 있는 그대로 사용하고 싶으면 앞에 \를 붙이면 됩니다.

정규표현식 시작, 종료기호인 //뒤에 나오는 i, g, m플래그라고 합니다.

  • g → 전체를 포함합니다.

  • i → 대,소문자 다 포함합니다.

  • m → 다중행 포함.

    만약 플래그에 i가 있으면 굳이 [a-zA-z]라고 할 필요가 없어지겠죠?

0개의 댓글