Post

정규표현식(Regular Expression)에 대해 알아보고 활용해보자

정규표현식이란?


정규표현식(Regular Expression), 줄여서 “정규식”이라고 불리우는 해당 표현식은 텍스트 패턴을 검색하고 일치하는 문자열을 찾기 위한 패턴 기술이다. 정규식은 문자열 내에서 특정한 규칙이나 패턴을 검색하고 추출하는 데 사용된다.

정규식은 일련의 문자들로 구성된 문자열을 나타내는데, 이러한 문자열은 특정 패턴을 나타낸다. 여기서 패턴은 문자열 내에서 찾고자 하는 일종의 규칙을 의미한다.

정규식은 다양한 문자 및 메타문자로 구성이 된다. 간단한 문자는 그자체로 일치하는 것을 나타내지만, 메타문자는 다양한 특별한 의미를 갖는다. 예를들어, ‘ . ’ 는 임의의 문자를 나타내며, ‘ * ’ 는 바로 앞의 패턴이 0회 이상 반복되는 것을 나타낸다.

정규식은 다음과 같이 다양한 상황에서 사용 될 수 있다.

  • 특정 문자열 패턴을 검색하고 추출 (ex. e-mail, URL 등)
  • 텍스트에서 특정 단어나 구문을 치환
  • 입력 데이터의 유효성 검사 (ex. 숫자만 입력 가능 등)
  • 로그 파일에서 특정한 패턴을 추출하여 분석

정규식은 매유 강력하고 유연한 도구이지만, 복잡한 패턴을 이해하고 작성하는 데 시간이 걸릴 수 있다. 또한 잘못 사용 할 경우 성능 문제를 일으킬 수도 있기 때문에 정규식을 사용할 때는 패턴을 주의깊게 사용해야 한다.


정규표현식의 활용


1
2
3
4
// 정규식 조건에 부합하면 true 반환
const validate = (value) => {
  return REG_EXP.test(value);
};


1. 숫자만 허용

1
const REG_EXP = /^[0-9]+$/;

2. 한글, 영어, 숫자 만 허용

1
const REG_EXP = /^[가-힣a-zA-Z0-9]*$/;

3. 한글, 영어, 한자 만 허용

1
const REG_EXP = /^[가-힣a-zA-Z一-龥]*$/;

4. 숫자, 영어, 특수문자(!, @, #, $, %, ^, &, *, (, ), -, =, _, +)

1
const REG_EXP = /^[a-zA-Z0-9!@#$%^&*()-=_+]*$/;

5. 이메일 패턴 허용

1
const REG_EXP = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
This post is licensed under CC BY 4.0 by the author.