홍쌤의 정규식 표현법

sun·2025년 2월 11일
0

SQL

목록 보기
15/15

1) 문자/숫자/특수기호 관련 정규 표현식

  • \d : 숫자
  • \D : 숫자가 아닌 모든 것
  • \w : 글자 (영어, 숫자, 한글) + _ (언더바)
  • \W : 글자가 아닌 모든 것 (특수기호, 공백)
  • \s : 공백
  • \t : 탭
  • \n : 엔터
  • [[:digit:]] : 숫자
  • [[:alpha:]] : 문자
  • [[:alnum:]] : 숫자 + 문자
  • [[:punct:]] : 특수기호

2) 반복 횟수를 지정하는 표현식

  • ? : 0회 또는 1회
  • * : 0회 이상
  • + : 1회 이상
  • {n} : n회
  • {n,} : n회 이상
  • {n,m} n회 이상 m회 이하

3) 패턴 관련 정규 표현식

  • [ab] : a 또는 b 한글자
  • [a-z] : 영문 소문자 한글자
  • [A-Z] : 영문 대문자 한글자
  • [A-z] : 영문 한글자 (대소문자 구분없이)
  • [가-힣] 또는 [가-힝] : 한글 한글자
  • [^ab] : a와 b를 제외한 것

4) 기타

  • . : 엔터를 제외한 모든 한 글자 (숫자, 문자, 특수기호, 공백)
  • ^ : 시작
  • $ : 끝
  • a|b : a 또는 b
  • () : 그룹지정
  • \ : escape character (일반 초기화)

REGEXP_SUBSTR

  • 정규식 표현식을 사용한 문자열 추출
  • 문법 : REGEXP_SUBSTR(대상, 패턴, [검색위치],[발견횟수],[옵션],[추출그룹])
  • 특징 :
    • 검색 위치 생략 시 1
    • 발견횟수 생략 시 1 (1 이상의 값 전달 가능)
    • 추출 그룹은 서브패턴을 추출 시 그 중 추출할 서브패턴 번호
  • 옵션 :
    • c : 대소를 구분하여 검색
    • i : 대소를 구분하지 않고 검색
    • m : 패턴을 다중라인으로 선언 가능

예제 ) 숫자, 글자, 특수기호 추출 정규표현

SELECT ID,
	REGEXP_SUBSTR(ID,'\D') AS 숫자,
    REGEXP_SUBSTR(ID,'\w') AS 글자,
	REGEXP_SUBSTR(ID,'\w') AS 글자가 아닌 것,
    REGEXP_SUBSTR(ID, '[[:punct:]]') AS 특수기호
FROM REGEXP1;

예제 ) 횟수 관련 정규 표현

SELECT ID,
	REGEXP_SUBSTR(ID,'[A-Z]\D+') AS "영문-숫자 필수"
    REGEXP_SUBSTR(ID,'[A-Z]'\D*) AS "영문-숫자 선택"
FROM REGEXP1;


20:03

0개의 댓글

관련 채용 정보