정규표현식 자체에 대한 사전지식이 필요함. (생활코딩 강좌 링크 / 프로그래머스 실습)
정규표현식을 잘 적었는지 https://regexr.com/ 에서 확인 한 후에 쿼리에 적용하면 됨.
패턴에 맞는 데이터를 추출하는 함수 regexp_extract('문자열', '정규식 패턴')
SELECT
regexp_extract('010-1234-5678', '\d{3}-\d{3,4}-\d{4}') as phone,
regexp_extract_all('차랑번호: 12하1234, 123하1234, 과태료 5만원 부과대상입니다.' , '([0-9]{2,3}[가-힣]{1}\s{0,1}[0-9]{4})') as license_plates
패턴에 맞는 데이터를 교체해주는 함수 regexp_replace('문자열', '정규식패턴', '바꿀 문자열')
괄호안에 있는 문자들을 모두 제거해주고 싶다면.
SELECT
regexp_replace('[무료배송]캐시 라운드 긴팔니트(가을)','\([^)]*\)', ''), -- 괄호()안 텍스트 제거
regexp_replace('[무료배송]캐시 라운드 긴팔니트(가을)','\[[^)]*\]', ''), -- 괄호[]안 텍스트 제거
regexp_replace('[무료배송]캐시 라운드 긴팔니트(가을)', '[^(가-힣ㄱ-ㅎㅏ-ㅣa-zA-Z0-9)]','') -- 공백 특수문자제거
-- 종합
SELECT
regexp_replace(regexp_replace(regexp_replace('[무료배송]캐시 라운드 긴팔니트(가을)','\([^)]*\)'), '\[[^)]*\]'), '[^(가-힣ㄱ-ㅎㅏ-ㅣa-zA-Z0-9)]') AS total