정규표현식이란?
[문자열 컬럼] 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글자 이상으로 끝남

정규표현식은 원하는 패턴의 문자열을 추출할 때 유용한 표현식이다.
특정 문자나 숫자로 시작되는 값 등을 편리하게 필터링 할 수 있다.
'SQL' 카테고리의 다른 글
| 250731_SQL(row_number -고유랭킹 문제) (3) | 2025.08.01 |
|---|---|
| 250602_ SQL 어려운 문제 반복 풀이 (0) | 2025.06.02 |
| 250530_SQL(JOIN), 파이썬 총 복습 (1) | 2025.05.30 |
| 250528_SQL(RANK), 파이썬(함수) (0) | 2025.05.28 |
| 250523_내일배움캠프_어려운 쿼리문(UNION ALL, LEFT JOIN) (0) | 2025.05.23 |