티스토리 뷰

데이터

SQL 심화 3 (정규표현식)

잔잔한 물결처럼 2025. 3. 6. 23:18

REGEXP_SUBSTR 함수

REGEXP_SUBSTR 함수는 문자열에서 특정 패턴에 맞는 부분을 추출하는 함수이다.

 

정규표현식의 기본 연산자

연산자 의미 예시
. 임의의 한 문자 'a.b' 는 "aab", "acb"와 일치하지만 "bca"와는 일치하지 않음
| or 의 의미를 가짐 'a|b'는 "a", "b"와 일치하지만 "c"d와는 일치하지 않음
\ 뒤에 오는 문자를 일반 문자로 취급 연산자로 쓰이는 기호 앞에 붙으면 해당 문자는 연산자가 아닌 문자 그대로 취급
^ 문자열의 시작을 나타냄 '^a'는 "apple"과 일치하지만 "banana"와는 일치하지 않음
$ 문자열의 끝을 나타냄 'n$'는 "melon"과 일치하지만 "banana"와는 일치하지 않음
? 선행 문자 0개 또는 1개 'ba?'는 "b" 또는 "ba" 와 일치(? 앞에 있는 "a" 가 0개 일수도 있고 1개 일수도 있음)
* 선행 문자 0개 이상 "ba*"는 "b", "ba", "baa" 등과 일치(* 앞에 있는 "a" 가 0개 이상)
+ 선행 문자 1개 이상 'ba+'는 "ba", "baa" 등과 일치하지만 "b" 와는 일치하지 않음(+ 앞에 있는 "a"가 1개 이상)

 

연산자 의미
[] 대괄호 안의 문자 중 하나와 일치
[-] 연속 문자의 범위를 지정
[^] 대괄호 안의 문자들을 제외한 나머지 문자 중 하나와 일치
() 소괄호로 묶인 표현식을 한 단위로 취급

 

POSIX 문자 클래스

연산자 의미 동일
[:digit:] 숫자 [0-9]
[:lower:] 소문자 [a-z]
[:upper:] 대문자 [A-Z]
[:alpha:] 영문자 [a-zA-Z]
[:album:] 영문자와 숫자 [0-9a-zA-Z]
[:xdigit:] 16진수 [0-9a-fA-F]
[:punct:] 구두점 문자 [^[:alnum:][:cntrl:]]
[:blank:] 공백문자  
[:space:] 공간 문자(Space, Enter, Tab)  

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함