~고군분투 인생살이~

[MySQL] 정규표현식, REGEXP 본문

SQL/개념

[MySQL] 정규표현식, REGEXP

소금깨 2022. 7. 14. 23:05
 

MySQL REGEXP: Querying Data Using Regular Expressions

In this tutorial, you have learned how to query data using the MySQL REGEXP operator with regular experssions.

www.mysqltutorial.org

 

정규 표현식(Regular Expression)이란?

정규 표현식은 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어이다.

문자열을 처리하는 방법 중 하나로, 특정한 조건의 문자를 '검색'하거나 '치환'하는 과정을 매우 간편하게 처리할 수 잇도록 해주는 수단이다. 

 

패턴

Metacharacter Behavior
^ ~로 시작하는 문자열을 찾는다
$ ~로 끝나는 문자열을 찾는다
. 모든 단일 문자 
[...] 대괄호 안에 지정된 모든 문자와 일치한다
[^...] 대괄호 안에 지정되지 않은 모든 문자와 일치한다
p1|p2 p1 또는 p2 패턴 중 하나와 일치한다
* 선행 문자와 0번 이상 일치
+ 선행 문자와 한 번 이상 일치
{n} {n}은 선행 문자의 n개 인스턴스와 일치한다
{m,n} {m,n}은 선행 문자의 인스턴스 수 m에서 n까지 일치한다 

 

예시 

# product_name이 a로 시작하는 것을 출력 
SELECT product_name 
FROM products 
WHERE product_name REGEXP '^a' 

# product_name이 영어 알파벳으로 시작하는 것을 출력
SELECT product_name 
FROM products 
WHERE product_name REGEXP '^a-zA-Z'

# product_name이 f로 끝나는 것을 출력
SELECT product_name 
FROM products 
WHERE product_name REGEXP 'f$'

# product_name에 'ford'가 포함되는 경우를 출력
SELECT product_name 
FROM products 
WHERE product_name REGEXP 'ford'

# product_name이 길이가 10자인 것을 찾으시오 
SELECT product_name 
FROM products 
WHERE product_name REGEXP '^.{10}$'

https://hansuho113.tistory.com/59

'SQL > 개념' 카테고리의 다른 글

[MySQL] 형 변환을 도와주는 CAST/CONVERT 함수  (0) 2023.05.06
[MySQL] RECURSIVE 재귀 쿼리  (0) 2022.10.09
[MySQL] JOIN 관련 정리  (0) 2022.07.13
[MySQL] IFNULL과 COALSECE의 차이  (0) 2022.07.06
[MySQL] CROSS-JOIN  (0) 2022.07.04
Comments