SQL

MySQL_정규표현식_개념, 활용사례

baektree 2026. 1. 18. 16:49

정규표현식이란?

[문자열 컬럼]  REGEXP  [정규표현식 패턴]
  • 정규표현식은 특정 규칙이 있는 문자열을 걸러내는 규칙 언어이다.
    • 예시
      • ing로 끝나는 문자만 추출: ing$ → ending, running
      • A로 시작하는 문자만 추출: ^A → APPLE, APPLY
  • ^[A-Z][a-z]+$ 와 같은 문자 패턴으로 표현된다.
  • REGEXP는 정규표현식 패턴을 문자열에 적용해 결과를 판단하는 SQL 문법이다.

정규표현식 적용 결과 어떻게 확인하나?

  • https://regexr.com/
  • regexr.com은 정규표현식이 어떤 문자열과 어떻게 매칭되는지 실시간으로 보여주는 도구이다. 테스트하는데 유용하다.

실무 예시 (MySQL)

1. 완전히 숫자로만 이루어진 문자열

^[0-9]+$
  • ^ : 문자열 시작
  • [0-9] : 0~9 사이 숫자 하나
  • + : 앞 패턴이 1개 이상 반복
  • $ : 문자열의 끝

 

2. 영문자 + 숫자로 이뤄진 문자열

^[a-zA-Z0-9]+$
  • ^ : 시작
  • [A-Za-z0-9] : 소문자영문, 대문자영문, 숫자 중 아무거나 1개
  • + : 1개 이상
  • $ : 끝 (소문자영문, 대문자영문, 숫자 중 1개로 끝나야함)

 

3. 이메일 간단 유효성 검사

^[a-zA-Z0-9]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$
  • ^[a-zA-Z0-9]+ : 소문자 또는 대문자 또는 숫자로 1개 이상 시작
  • @: 반드시 @ 있어야 함
  • [a-zA-Z0-9.-] : 소문자 또는 대문자 도는 숫자 또는 . 또는 - 로 1개 이상
  • \. : 문자 자체 (\로 escape)
  • [a-zA-Z]{2,}$ : 소문자 또는 대문자로 마무리 대신 2글자 이상으로 끝남

 

 

정규표현식은 원하는 패턴의 문자열을 추출할 때 유용한 표현식이다. 

특정 문자나 숫자로 시작되는 값 등을 편리하게 필터링 할 수 있다.