DB/SQL 기초

문자열 검색하는 정규표현식 (Regular Expression) 기초

케이(kay) 2023. 7. 2. 15:47
반응형
SMALL

정규표현식(Regular Expression)은 원래 패턴과 문자열을 검색하기 위한 표현식이다.

쉽게말해 조건에 일치하는 것을 찾는데 쓰인다. 

쿼리문에서는 Regular Expression >> 'REGEXP'로 사용된다. 

정규표현식의 기본 예를 알아보자.

/* SELECT DISTINCT player
FROM tean 
WHERE brand LIKE 'k%'
OR brand LIKE 'l%'
OR brand LIKE 'p%' */

-- 위는 'a 또는 b, c'로 시작하는 선수이름 --
-- 아래는 정규표현식 REGEXP 함수를 사용하였을 경우 --

SELECT DISTINCT player
FROM team
WHERE city REGEXP '^[klp].*'

 

규칙참고

% : 어떠한 문자도 허용
a% = 'a', 'abb', 'aca', bba ...

 

^[문자]: 다음으로 시작하는 문자

^[ab] = 'ab', 'bb', ccab ...


[  ] : []안의 문자 찾기
[c] = ab'c', a, bbb, 'c'f'c' ...

 

[  ].* : 뒤는 어떤 문자열도 가능

[ab].* = 'aab', 'bpp', cca ...

 

 

따라서,

LIKE 'a%' 
LIKE 'b%' 
LIKE 'c%'  
> '^[abc].*'

로 대체해서 사용할 수 있다.

 

 

 

 

 

이외에도

아래와 같은 함수들로 사용된다.

  • REGEXP_LIKE: 주어진 문자열이 정규표현식과 일치하는지 여부
  • REGEXP_SUBSTR: 주어진 문자열에서 정규표현식과 일치하는 부분 문자열을 추출
  • REGEXP_REPLACE: 주어진 문자열에서 정규표현식과 일치하는 부분을 다른 문자열로 대체
  • REGEXP_INSTR: 주어진 문자열에서 정규표현식과 일치하는 부분의 위치를 반환

 

 

 

레퍼런스

더 복잡하고 다양한 정규표현식이 많이 있다.

아래 사이트를 통해서 그림과 같이 표현식을 참고할 수 있다.

 

반응형
LIST