42번 문제에서 패턴이 'b.d'이면 b와 d 사이에 하나의 문자가 있는 패턴을 찾는 것으로 알고 있는데 그렇다면 b.cd는 b와 d사이에 문자가 두 개가 있어서 패턴과 아예 맞지 않는 것 아닌가요?
안녕하세요
질문 주셔서 감사합니다. 먼저 42번 문제는 아래와 같이 수정이 필요하여 정오표에 반영해 두었습니다.
SELECT REGEXP_SUBSTR('abcd', 'b.d') AS RESULT1
, REGEXP_SUBSTR('abcd', 'b\.d') AS RESULT2
FROM DUAL;
정답: ④
궁금해하신 패턴 매칭 부분을 말씀드리면,
정규식에서 점(.)은 '임의의 한 글자'를 의미하므로 'b.d'는 b + (임의의 한 글자) + d 패턴을 찾습니다.
참고로 RESULT2의 'b\.d'는 점 앞에 역슬래시()를 붙여 점의 특수 기능을 없앤 것으로,
'실제 점 문자(.)'를 그대로 찾습니다. 'abcd'에는 실제 점이 없으므로 매칭되는 값이 없어 null을 반환합니다.
해당 내용은 아래 정오표에도 반영해 두었으니 함께 참고 부탁드립니다.
https://cafe.naver.com/f-e/cafes/31619577/articles/55?referrerAllArticles=false
궁금한 점 있으시면 언제든 편하게 문의해 주세요. 감사합니다.
-
관리자2026-08-15 06:47:49
안녕하세요
질문 주셔서 감사합니다. 먼저 42번 문제는 아래와 같이 수정이 필요하여 정오표에 반영해 두었습니다.
SELECT REGEXP_SUBSTR('abcd', 'b.d') AS RESULT1
, REGEXP_SUBSTR('abcd', 'b\.d') AS RESULT2
FROM DUAL;
정답: ④
궁금해하신 패턴 매칭 부분을 말씀드리면,
정규식에서 점(.)은 '임의의 한 글자'를 의미하므로 'b.d'는 b + (임의의 한 글자) + d 패턴을 찾습니다.
참고로 RESULT2의 'b\.d'는 점 앞에 역슬래시()를 붙여 점의 특수 기능을 없앤 것으로,
'실제 점 문자(.)'를 그대로 찾습니다. 'abcd'에는 실제 점이 없으므로 매칭되는 값이 없어 null을 반환합니다.
해당 내용은 아래 정오표에도 반영해 두었으니 함께 참고 부탁드립니다.
https://cafe.naver.com/f-e/cafes/31619577/articles/55?referrerAllArticles=false
궁금한 점 있으시면 언제든 편하게 문의해 주세요. 감사합니다.