내배캠 - TIL

[TIL] 정규표현식(Regular Expression)

신짜린 2025. 6. 6. 23:16

1. 정규표현식(Regular Expression)

 정규식 표현은 문자열이 가지고 있는 규칙을 파악한 뒤 해당 규칙을 만족하는 문자만 추출할 때 활용된다. 즉, 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어를 말한다.

 정규표현식을 활용하면 SQL 뿐만 아닌 Python, R 등 다양한 언어에서도 사용할 수 있으며, 여러 정규표현식을 섞어 사용하면 강력한 성능을 발휘한다는 장점이 있다.

 

2. 정규표현식 기본 문법

- 문자/숫자/특수 기호 지정 표현식

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

 

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

표현식 설명
? 0회 또는 1회
* 0회 이상
+ 1회 이상
{n} n회
{n,} n회 이상
{n, m} n회 이상 m회 이하

 

- 여러 패턴을 지정하는 표현식

표현식 설명
[ab] a 또는 b 한 글자
[a-z] 영문 소문자 한 글자
[A-Z] 영문 대문자 한 글자
[A-z] 영문 한 글자 (대소구분 X)
[가-힣] 또는 [가-힝] 한글 한 글자
[^ab] a와 b를 제외한

 

- 기타

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

 

3. 정규식 함수

함수명 설명 문법
REGEXP_SUBSTR() 패턴과 일치하는 부분 문자열 추출 REGEXP_SUBSTR(대상, 패턴, [검색위치], [발견횟수], [옵션], [추출그룹])
REGEXP_REPLACE() 패턴과 일치하는 문자열 치환 REGEXP_REPLACE(대상, 찾을문자열, [바꿀문자열], [검색위치], [발견횟수], [옵션])
REGEXP_INSTR() 패턴 시작 위치 반환 REGEXP_INSTR(원본, 찾을문자열, [시작위치], [발견횟수])
REGEXP_LIKE() 패턴이 일치하는지 여부를 반환 REGEXP_LIKE(원본, 찾을문자열, [옵션])
REGEXP_COUNT() 패턴 횟수 반환 REGEXP_COUNT (원본, 찾을문자열, 시작위치, [옵션])