본문 바로가기
Oracle SQL

[Oracle] 정규 표현식 - Meta Character

by WaterPunch 2021. 8. 19.

오라클 문자열 함수 중 일부 함수에서는 정규표현식을 지원한다

정규표현식이란?

문자열 데이터의 간단한 패턴 및 복잡한 패턴을 검색할 수 있는 정규식은 기존의 LIKE 연산의 한계를 뛰어넘는 막강한 검색 도구

 

다양한 Meta Character 를 이용하여 복잡한 프로그래밍을 간단하게 해결할 수 있다

 

메타 문자 Meta Characters

Meta Character 설명 예시
* 앞의 문자를 0개 이상 찾는다 zo* -> z, zo, zoo, zoooooo
+ 앞의 문자를 1개 이상 찾는다 zo+ -> zo, zoo, zooo
? 앞의 문자를 0개나 1개 찾는다 zo? -> z, zo
^ 검색되는 문자열의 시작 부분에서 위치를 찾는다
중괄호 안에 있는 ^는 부정을 뜻한다
^We -> We************
[^abc] -> a, b, c 를 제외한 것들
$ 검색되는 문자열의 끝부분에서 찾는다
(^와 반대)
$e -> 문장 끝에 e가 있으면 true
. 모든 단일 문자를 검색 a.c -> abc, a1c, a-c, a?c
[xy] [ ] 안의 문자 중 하나를 의미한다
'-' 를 사용하면 from ~ to 를 의미한다
[bts] -> b 또는 t 또는 s
[0-9] -> 숫자 하나
[a-z] -> a부터 z까지 모든 영문 소문자
[가-힣] -> 한글 하나
[a-zA-Z0-9] -> 알파벳 대/소, 숫자 중 하나
x{m, n} 등장횟수를 지정하는 것으로 { } 앞의 내용이 
최소 m번 이상 n번 이하 등장한다
m, n을 생략하면 다양한 표현이 가능하다

{m} : m번 반복됨
{m, n} : m번 이상, n번 이하 반복됨
{m, } : m번 이상 반복
a{2} -> aa
a{2, 3} -> aa, aaa
a{a, } -> aa, aaa, aaaa, aaaaa...
| 둘 이상의 항목에서 선택한다 (z|f)ood -> zood, food

 

정규 표현식 Regular Expression

Function 설명
REGEXP_LIKE(문자열, 패턴, ...) Like 연산과 유사하여 정규식 패턴을 검색
REGEXP_REPLACE(문자열, 패턴, ...) 정규식 패턴을 검색하여 대체 문자열로 변경
REGEXP_INSTR(문자열, 패턴, ...) 정규식 패턴을 검색하여 위치 반환
REGEXP_SUBSTR(문자열, 패턴, ...) 정규식 패턴을 검색하여 부분 문자 추출
REGEXP_COUNT(문자열, 패턴, ...) 정규식 패턴을 검색하여 발견된 횟수 반환

 

select 
    REGEXP_SUBSTR('82CADS1FASDFDFDFDCD0FDFD0','S?F',1,1) A
    ,REGEXP_INSTR('82CADS1FASDFDFDFDCD0FDFD0','S?F',1,1) B
    ,REGEXP_SUBSTR('82CADSFASDFDFDFDCD0FDFD0','S?F',1,1) C
FROM DUAL;

 


 

참고블로그

https://yuns-helloworld.tistory.com/entry/Regular-Expression-%EC%A0%95%EA%B7%9C-%ED%91%9C%ED%98%84%EC%8B%9D-%EB%A9%94%ED%83%80%EB%AC%B8%EC%9E%90

 

Regular Expression (정규 표현식) - 메타문자

Regular Expression 메타문자 설명 예시 * 앞의 문자를 0개 이상 찾는다. zo* -> z, zo, zoo, zooooo + 앞의 문자를 1개 이상 찾는다. zo+ -> zo, zoo zooo, zoo ? 앞의 문자를 0개나 1개 찾는다. zo? -> z, zo ^..

yuns-helloworld.tistory.com

https://goodteacher.tistory.com/227?category=822465

(개인적으로 이분 블로그가 이해하는데 도움이 많이 됐음)

 

정규 표현식 - 메타문자

기본 메타 문자 이번 포스트에서는 정규 표현식의 기본 메타 문자들에 대해 알아보자. 아래 표에서 x는 그냥 어떤 문자를 의미한다. 레일로드 다이어그램 부분은 regexper.com에서 meta 문자를 입력

goodteacher.tistory.com

https://oukr.tistory.com/51

 

Regular Expression ( 정규식 )

Regular Expression ( 정규식 ) 문자열 데이터의 간단한 패턴 및 복잡한 패턴을 검색 할 수 있는 정규식은 기존의 LIKE 연산의 한계를 뛰어 넘는 막강한 검색 도구이다. 다양한 Meta Character 를 이용하여

oukr.tistory.com

 

반응형

'Oracle SQL' 카테고리의 다른 글

[Oracle/SQL] SubQuery / Inline View  (0) 2021.07.30
[Oracle/SQL] From dual  (0) 2021.07.30

댓글