SQLD(SQL 개발자) 기출 · 정규표현식
다음 함수의 실행 결과로 옳은 것은?
본문)
<SQL>
SELECT REGEXP_SUBSTR('kkkkkzzzz', z{3, 4}) FROM DUAL;
이 문제 풀어보기
정답 및 해설 보기
정답: 2번
정규표현식 'z{3,4}'는:
문자 'z'가 3번 이상, 4번 이하 연속해서 반복되는 패턴을 찾음
Oracle의 REGEXP_SUBSTR는 기본적으로 greedy(가장 긴 매칭 우선) 방식
대상 문자열: 'kkkkkzzzz'
'kkkkk'는 무시되고
'zzzz'에서 'z'가 4번 연속으로 등장
→ 'z{3,4}' 조건에 정확히 부합함
→ 그 중 가능한 가장 긴 문자열 'zzzz' 를 반환
문자 'z'가 3번 이상, 4번 이하 연속해서 반복되는 패턴을 찾음
Oracle의 REGEXP_SUBSTR는 기본적으로 greedy(가장 긴 매칭 우선) 방식
대상 문자열: 'kkkkkzzzz'
'kkkkk'는 무시되고
'zzzz'에서 'z'가 4번 연속으로 등장
→ 'z{3,4}' 조건에 정확히 부합함
→ 그 중 가능한 가장 긴 문자열 'zzzz' 를 반환