본문 바로가기
DB

REGEXP 정규표현식

by 쬑께께 2023. 1. 5.

정규표현식이란

찾을 대상 문자열에서 정규 표현식을 사용해 해당 패턴과 일치하는 문자열을 검색하며,

패턴과 일치하는 문자열을 찾은 후 추출하거나 치환할 때 사용한다.

 

 

아래의 패턴들을 사용하기 위해선 반드시

REGEXP라는 키워드를 사용해주어야 한다.

 

 

주로 사용되는 패턴의 종류는 다음과 같다.

 

- MATCHING

패턴 기능  예시 설명
. 문자 하나 "...." 문자열의 길이가 네 글자 이상인 것을 찾음.
| 또는 (OR). 
|로 구분된 문자에 해당하는 문자열 찾음.
"DATA1|DATA2" ‘DATA1’ 또는 ‘DATA2’에 해당하는 문자열을 찾음.
[] [] 안에 나열된 패턴에 해당하는 문자열 찾음. "[123]d" 대상 문자열에서 ‘1d’ 또는 ‘2d’ 또는 ‘3d’인 문자열을 찾음.
^ 시작하는 문자열 찾음. "^시작" 대상 문자열에서 ‘시작’으로 시작하는 문자열을 찾음.
$ 끝나는 문자열 찾음. "끝$" 대상 문자열에서 ‘끝’으로 끝나는 문자열을 찾음.

 

 

- NUMBERS LIMIT

패턴 기능 예시 설명
* 0회 이상 나타나는 문자 "a*" ‘a’가 0번 이상 등장하는 문자열을 찾음. ‘b’, ‘a’, ‘aa’ 모두 해당.
+ 1회 이상 나타나는 문자 "단어+" ‘단어’가 1번 이상 등장하는 문자열을 찾음. ‘단어장’, ‘영어단어장', ‘일본어단어’ 모두 해당.
{m,n} m회 이상 n회 이하 나타나는 문자 "어{1,2}" ‘어'가 1회 이상 2회 이하 등장하는 문자열을 찾음. ‘어린이’, ‘어떤어른' 모두 해당.
? 0~1회 나타나는 문자 "[가나다]?" ‘가’ 또는 ‘나’ 또는 ‘다’가 0~1회 등장하는 문자열을 찾음. ‘가지마’, ‘나라’, ‘안녕’ 모두 해당.

 

 

- STRING GROUP

패턴 기능 예시 설명
[A-z] OR [:alpha:]
OR
  \a
알파벳 대문자 또는 소문자인 문자열 찾음 "[A-z]+" 대상 문자열에서 알파벳이 한 개 이상인 문자열을 찾음
[0-9] OR  [:digit:]
OR  \d
숫자인 문자열을 찾음 "^[0-9]+" 한 개 이상의 숫자로 시작하는 문자열을 찾음

 

 

- NOT

패턴
기능 예시 설명
[^문자] 괄호 안의 문자를 포함하지 않은 문자열을 찾음 "[^부정]" ‘부’ 또는 ‘정’을 포함하지 않는 문자열을 찾음.
‘부자’, ‘정말’ 모두 제외됨

 

 

 

다시 한번 말하지만

위의 정규표현식을 사용하기 위해선

REGEXP라는 키워드를 써주어야 한다.

이란 쿼리문이 있다고 치자.

이걸 정규표현식을 사용해 쿼리문을 짜면 

이렇게 된다.

 

'DB' 카테고리의 다른 글

문자열 자르기, 합치기, 치환  (0) 2023.01.17
날짜 및 시간 데이터 확인  (0) 2023.01.13
DATE_FORMAT  (1) 2022.12.21
쿼리 조건문  (0) 2022.12.15
LIMIT명령어와 그룹함수  (0) 2022.12.14