이 글에서는 Oracle에서 사용할 수 있는 정규표현식 함수와 메타문자를 정리한다.

🧪 REGEXP_LIKE

REGEXP_LIKE패턴과 일치하는지 확인할 때 사용한다.

SELECT *
FROM TB_BZ_RBT
WHERE REGEXP_LIKE(RBT_NM, '로뮴|SH', 'i');

🧪 REGEXP_REPLACE

REGEXP_REPLACE패턴을 찾아 다른 문자열로 치환할 때 사용한다.

SELECT REGEXP_REPLACE(RBT_NM, '로뮴|SH', '치환된 문자열', 1, 0, 'i')
FROM TB_BZ_RBT;

🧪 REGEXP_INSTR

REGEXP_INSTR패턴이 발견된 위치를 반환한다.

SELECT REGEXP_INSTR(RBT_NM, '로뮴|SH', 1, 1, 0, 'i')
FROM TB_BZ_RBT;

🧪 REGEXP_SUBSTR

REGEXP_SUBSTR패턴과 일치하는 문자열 일부를 추출한다.

SELECT REGEXP_SUBSTR(RBT_NM, '로뮴|SH', 1, 1, 'i')
FROM TB_BZ_RBT;

🧪 REGEXP_COUNT

REGEXP_COUNT패턴이 몇 번 발견되는지 세는 함수다.

SELECT REGEXP_COUNT(RBT_NM, '로뮴|SH', 1, 'i')
FROM TB_BZ_RBT;

🧱 정규표현식 메타문자

메타문자 설명
. 임의의 한 문자
? 앞 문자가 0번 또는 1번
+ 앞 문자가 1번 이상
* 앞 문자가 0번 이상
{m} 정확히 m번 반복
{m,} 최소 m번 반복
{m,n} m번 이상 n번 이하 반복
[…] 문자 집합
^ 문자열의 시작
$ 문자열의 끝
\ 이스케이프 문자
\n 줄바꿈
\d 숫자
[:class:] POSIX 문자 클래스
[^:class:] 해당 클래스가 아닌 문자

🧩 POSIX 문자 클래스 예시

  • [:alpha:] 알파벳
  • [:digit:] 숫자
  • [:lower:] 소문자
  • [:upper:] 대문자
  • [:alnum:] 영숫자
  • [:space:] 공백
  • [:punct:] 문장부호
  • [:cntrl:] 제어문자
  • [:print:] 출력 가능한 문자

🧭 정리

  • REGEXP_LIKE는 조건 검사에 사용한다.
  • REGEXP_REPLACE는 치환에 사용한다.
  • REGEXP_INSTR는 위치를 찾는다.
  • REGEXP_SUBSTR는 부분 문자열 추출에 사용한다.
  • REGEXP_COUNT는 등장 횟수를 센다.

연결문서

댓글남기기