본문 바로가기
데이터베이스

6. 정규식을 이용한 함수

by 김마리님 2020. 3. 26.

정규식이란 Unix의 검색 기술로, 메타문자들을 활용해 검색방법을 확장하는 것을 의미한다.

 

주로 사용하는 메타문자는 다음과 같다.

^ 해당문자로 시작하는 line 출력 (ex. ^Pattern')
$ 해당문자로 끝나는 line 출력(ex. Pattern$)
x...y x로 시작해서 y로 끝남
[] 해당 조건(문자)에 해당하는 한 문자
[^] 해당 조건(문자)에 해당하지 않는 한 문자
* 모든. (값이 0일수도 있음)

 

1. REGEXP_LIKE

 

예시를 보자.

select *
from REG_TEST
where REGEXP_LIKE(text, '[A-Z]');

다음과 같은 조건은 조건에 해당하는 문자가 들어 있는 line을 출력해준다.

 

select *
from REG_TEST
where REGEXP_LIKE(text, '[a-z] [0-9]');

각 조건의 사이에 공백을 넣으면, 조건 사이에 공백이 있는 데이터를 출력해준다.

 

공백을 가지고 있는 line을 찾으려면 다음과 같은 조건을 입력한다.

select *
from REG_TEST
where REGEXP_LIKE(text, '[[:space:]]');

 

마찬가지로, 대문자만 있는 line을 찾으려면,

select *
from REG_TEST
where REGEXP_LIKE(text, '[[:upper:]]');

다음과 같이 입력한다. 소문자만 찾으려면 lower을 입력하면 될 것이다.

 

select *
from REG_TEST
where REGEXP_LIKE(text, '[A-Z]{2}');

조건을 연속해서 찾고 싶으면. 뒤에 중괄호로 연속되는 조건의 수를 입력하면, 입력수 이상 반복되는 조건을 모두 찾아준다.

 

select *
from REG_TEST
where REGEXP_LIKE(text, '^[A-Za-z]');

^(캐럿)은 line 첫 시작에 조건이 일치하는 것을 찾는다.

 

select *
from REG_TEST
where REGEXP_LIKE(text, '[A-Za-z]$');

$(달러)는 line의 끝에 조건이 일치하는 것을 찾는다.

반응형