[Athena] 정규표현식regexp_extract, regexp_replace

2innnnn0·2021년 7월 21일
0

athena

목록 보기
3/7
  1. 패턴에 맞는 데이터를 추출하는 함수 regexp_extract('문자열', '정규식 패턴')

    • 문자열에서 정규식 패턴에 부합하는게 여러개라면 접미사로 _all인 있는 regexp_extract_all를 사용하면 된다.
    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
  2. 패턴에 맞는 데이터를 교체해주는 함수 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
profile
성장하고 싶은 데이터분석가.

0개의 댓글