안녕하세요
정규식으로 반복 패턴을 제거하고 싶은데 마음처럼 되질 않아 질문 올립니다.
WITH TEST AS (SELECT '10,20,10,94,10,94,10,94,10,94,10,94,10,94,10' T1 FROM DUAL UNION ALL SELECT '10,96,10,96,10,96,15' T1 FROM DUAL ) SELECT T1 ,REGEXP_REPLACE(T1,'([0-9]{2}\,[0-9]{2})(.+?)\1+$','\1\3') T2 FROM TEST;
(숫자,숫자) 의 패턴이 중복될 때 (숫자,숫자) 의 중복을 제거 하고 싶은데요 T2 의 첫번째 행을 보면 중복제거가 되는데 두번째행은 중복제거가 되질 않아요 ㅠ 혹시 방법이 있을까요?
다른 쿼리들 참고해봤는데.. 제가 한 방법은 이렇습니다.
WITH TEST AS ( SELECT '10,20,10,94,10,94,10,94,10,94,10,94,10,94,10' T1 FROM DUAL UNION ALL SELECT '10,96,10,96,10,96,15' T1 FROM DUAL ) SELECT T1 , REGEXP_REPLACE(T1,'([0-9]{2}\,[0-9]{2})(.+?)\1+$','\1\3') T2 , REGEXP_REPLACE(T1,'([0-9]{2}\,[0-9]{2})(,\1)+(,|$)', '\1\3') T3 FROM TEST;