REGEXP_SUBSTR('abcd', 'b\\*c') → COL1\\*는 **진짜 문자 *를 의미합니다.'b*c'라는 문자 그대로를 찾습니다.'abcd'에는 'b*c'라는 글자가 없음 → 결과는 NULLREGEXP_SUBSTR('abcd', 'b*c') → COL2b*는 'b'가 0개 이상 반복된 것을 뜻함.'c' 앞에 'b'가 하나 있으므로 → 'bc'가 매칭됨'bc'| 함수 | 설명 | 예시 결과 |
|---|---|---|
REGEXP_LIKE(col, pattern) |
WHERE절에서 정규식으로 비교 | 'abc123' LIKE 'abc[0-9]+' → TRUE |
REGEXP_SUBSTR(str, pattern) |
패턴 일치 문자열 반환 | 'abc123', '123' 반환 |
REGEXP_INSTR(str, pattern, pos, occ, return_opt, match_opt, group_no) |
일치 위치 반환그룹 위치도 반환 가능 | 'abc123', 4 (숫자 시작 위치) |
REGEXP_REPLACE(str, pattern, replace) |
일치한 문자열을 치환 | 'abc123' → 'abc***' |
REGEXP_COUNT(str, pattern) |
일치하는 개수 | '12345'에 [0-9]는 5회 |
| 패턴 | 의미 | 예시 입력 | 일치 결과 |
|---|---|---|---|
. |
아무 문자 1개 | a, 1 |
O |
* |
0개 이상 반복 (greedy) |
abbb |
O |
+ |
1개 이상 반복 | a, aa |
O |
? |
0개 또는 1개 | a, "" |
O |
{n} |
정확히 n번 반복 | aaa |
O (n=3) |
[abc] |
a, b, c 중 하나 | b |
O |
[^abc] |
a, b, c를 제외한 하나 | d |
O |
() |
캡처 그룹 | 그룹 1, 2 | |
\\ |
이스케이프 문자 | \\* → * |
O |