본문 바로가기

IT관련

오라클 like 구문 업그레이드 regexp_like 샘플예제 (정규표현식 기본 응용)

오라클에서 제공하는 정규표현식 지원 함수 regexp_like 를 이용하면 기존 like 구문에서 할 수 없었거나 아주 어렵게 구현했던 부분들을 아주 쉽게 구현할 수 있습니다.

 

regexp_like 기본 구문(Syntax) 는 다음과 같습니다.

 

예제를 통해서 사용법을 확인해보면,

 

♣ 문자열내에 특정문자(A, M, S) 문자가 들어가 있는 이름 찾기

'|' 기호는 or 의 의미를 가지고 있습니다. 근데, and 의 의미를 가진 '&' 는 없습니다. ㅎㅎ

& 는 정규표현식에 원래 없습니다.

 

 

특정문자(N)로 끝나는 이름 찾기

 

 특정문자(S)로 시작하는 이름 찾기

$ 는 문자 뒤에 붙이고, ^ 는 문자 앞에 붙이는 차이가 있습니다.

 

 

특정문자(A, M, S) 문자가 들어가 있는 이름 찾기 (대소문자 구분)

패턴 문자열 뒤에 'c' 가 대소문자를 구분(Case Sensitive) 하라는 의미입니다.

대소문자 무시는 'i' (Ignore) 를 사용합니다.

 

 

첫문자가 M~Z 까지의 문자로 시작해서, 한문자 건너뛰고, 다음문자가 I 인 이름 찾기

점('.')은 임의의 아무 문자 1개를 가리킵니다.

 

 

 L 문자가 2번 반복되는 이름 찾기

중괄호 {n} 은 n 번 반복한다는 의미입니다.

 

 

 모음(aeiou)가 2번 반복되는 단어 찾기, 대소문자무시(i)

대괄호[] 안에 문자를 넣으면, '|' (or) 를 여러개 쓴것과 같은 효과를 가집니다.

즉, [aeiou] = a|e|i|o|u 와 같습니다.

뒤에 \1 은 앞에서 나온 패턴을 한번더 반복한다는 의미 입니다.

3번째 인자인 i 는 대소문자 무시의 의미입니다.

 

 

패턴이 계속 반복되는 경우 \1를 여러번 사용 (\1 은 앞의 패턴을 반복)

\1 을 4번 사용하여 앞의 패턴([aeiou])을 4번더 반복 했습니다.

 

 

▶ 참고 : 오라클 정규표현식(Regular Expression) 소개 메인 페이지