Skip Headers

오라클 10g 함수
10g Release 1 (10.1)
Go to Documentation Home
HOME
Go to Book List
ORA_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
ORA_10G
Go to Feedback page
MAIL

Go to previous page
Previous
Go to next page
Next

REGEXP_SUBSTR

문법

MAIN

regexp_substr::=
Description of regexp_substr.gif follows

그림 설명
 

목적

MAIN

지정한 정규 표현을 만족하는 부분 문자열을 리턴합니다.

REGEXP_SUBSTR함수는 정규 표현 패턴에 대하여 문자열을 검색할수 있도록 REPLACE함수의 기능을 확장한 것이다. REGEXP_INSTR과 유사하나, substring의 위치를 반환하는 것이 아니라, substring 자체를 반환한다. 이 함수는 만약 일치 문자열의 내용은 필요하고, 소스 문자열내에서 위치는 필요없는 경우에 유용하다. 함수는 source_string으로써 같은 문자 세트안에서 VARCHAR2 또는 CLOB 데이터와 같은 문자열을 반환한다.

이 함수는 POSIX 정규 표현 규격과 유니코드 정규 표현 가이드 라인을 따른다.

예제

MAIN

다음 예제는 string를 조사하여, 콤마에 의해 단락지어진 처음 substring을 검색한다. 오라클 데이터 베이스는 콤마에 의해 따르는 콤마 문자가 아닌 1개 이상의 문자에 따르는 콤마를 검색한다. 오라클은 앞뒤 콤마를 포함한 substring을 반환한다.

SELECT REGEXP_SUBSTR('500 Oracle Parkway, Redwood Shores, CA',
                     ',[^,]+,') "REGEXPR_SUBSTR"
FROM DUAL;

REGEXPR_SUBSTR
-----------------
, Redwood Shores,

다음 예제는 string을 조사하여, 하나이사의 영숫자의 substring과 옵션으로 period(.)를 따르는 http://를 검색한다. 오라클은 http:// 와 slash(/) 또는 문자열의 끝 사이에 이 substring의 최소 3, 최대 4 발생을 검색한다.

SELECT
  REGEXP_SUBSTR('http://www.oracle.com/products',
                'http://([[:alnum:]]+\.?){3,4}/?') "REGEXP_SUBSTR"
  FROM DUAL;

REGEXP_SUBSTR
----------------------
http://www.oracle.com/

REGEXP_SUBSTR 함수는 SUBSTR 함수와 마찬가지로 문자열의 일부를 추출합니다. 표 8은 새로운 함수의 사용법을 설명하고 있습니다. 아래 예제에서는 [^,]*, 패턴에 매치되는 문자열이 반환됩니다. 정규 표현식은 공백에 이어 사용된 쉼표를 검색하고, 쉼표가 아닌 문자가 0 회 또는 그 이상 반복되는 패턴을 검색([^,]*)한 후 마지막으로 또 다른 쉼표를 검색합니다. 이 패턴은 쉼표로 구분된 문자열(comma-separated values)과 유사한 배열을 갖습니다.

SELECT REGEXP_SUBSTR('first field, second field , third field', ', [^,]*,')
  FROM dual


REGEXP_SUBSTR('FIR
------------------
, second field   ,