메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
(새 문서: 좋아요! 정규표현식을 처음 배우는 분도 이해할 수 있도록, Oracle 19c에서 사용하는 정규표현식 패턴을 쉬운 설명 + 예시 중심으로 하나씩 자세히 설명드릴게요. ⸻ 정규표현식 기초 패턴 설명 (Oracle 기준) {| class="wikitable" ! 패턴 !! 의미 !! 쉬운 설명 !! 예시 |- | . || 임의의 한 글자 || 어떤 글자든 한 글자만 || <code>a.c</code> → "abc", "axc" |- | * || 0회 이상 반복 || 없어도...)
 
편집 요약 없음
65번째 줄: 65번째 줄:


 
{| class="wikitable"
정리: 실전에서 정규표현식은 이런 데에 유용합니다
|+ 정규 표현식(Regex) 활용 예제
|-
! '''사용 목적'''
! '''정규식 예시'''
! '''설명'''
|-
| 이메일 검증
| <code>^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$</code>
|
* 영문 소문자/숫자/특수문자(. _ % + -) 조합
* @ 뒤에 도메인명과 최소 2자리 이상의 도메인 확장자
|-
| 전화번호 확인
| <code>^\d{3}-\d{3,4}-\d{4}$</code>
|
* 000-0000-0000 또는 000-000-0000 형식
* \d는 숫자([0-9]와 동일)
|-
| 숫자만 추출
| <code>\d+</code>
|
* 문자열에서 연속된 숫자만 매칭
* "+"는 1회 이상 반복 의미
|-
| 특정 문자 제거
| <code>REGEXP_REPLACE(col, '[^0-9]', '')</code>
|
* [^0-9]: 숫자가 아닌 모든 문자
* 숫자를 제외한 모든 문자를 공백으로 치환
|}

2025년 5월 13일 (화) 23:23 판

좋아요! 정규표현식을 처음 배우는 분도 이해할 수 있도록, Oracle 19c에서 사용하는 정규표현식 패턴을 쉬운 설명 + 예시 중심으로 하나씩 자세히 설명드릴게요.

정규표현식 기초 패턴 설명 (Oracle 기준)

패턴 의미 쉬운 설명 예시
. 임의의 한 글자 어떤 글자든 한 글자만 a.c → "abc", "axc"
* 0회 이상 반복 없어도 되고, 많아도 됨 a* → "", "a", "aa", "aaa"
+ 1회 이상 반복 적어도 한 번은 나와야 함 a+ → "a", "aa", "aaa"
? 0회 또는 1회 있을 수도, 없을 수도 있음 ab? → "a", "ab"
^ 문자열의 시작 맨 앞에서 시작해야 함 ^a → "apple"에는 일치, "banana"에는 불일치
$ 문자열의 끝 맨 끝에서 끝나야 함 ing$ → "playing", "going"
[abc] 괄호 안 문자 중 하나 a, b, c 중 하나와 일치 [abc] → "a", "b", "c"
[^abc] 괄호 안 문자 제외 a, b, c를 제외한 문자와 일치 [^abc] → "d", "x"
[a-z] 알파벳 범위 a부터 z 중 하나 [A-Z] → 대문자, [0-9] → 숫자
{n} 정확히 n번 반복 정확히 n번 반복됨 a{3} → "aaa"
{n,} n번 이상 반복 n번 이상 반복됨 a{2,} → "aa", "aaa", ...
{n,m} n~m회 반복 n 이상 m 이하 반복 a{2,4} → "aa", "aaa", "aaaa"
또는(OR) 둘 중 하나 dog → "cat", "dog"
\ 이스케이프 문자 특수기호를 문자로 인식 \. → 점(.) 자체


예시로 이해하기

1. '^[A-Z][a-z]+$'

→ 의미: 첫 글자는 대문자, 그 뒤는 소문자 한 글자 이상, 전체가 한 단어 • 일치: "John", "David" • 불일치: "john", "DAVID", "John123"

2. ^[0-9]{3}-[0-9]{4}-[0-9]{4}$

→ 의미: 전화번호 형식 (숫자3-숫자4-숫자4) • 일치: "010-1234-5678" • 불일치: "10-1234-5678", "01012345678"

3. '^\d{6}-\d{7}$'

→ 의미: 주민등록번호 형식 (6자리-7자리 숫자) → \d는 숫자 [0-9]와 같음 • 일치: "990101-1234567" • 불일치: "9901011234567", "99-0101-1234567"

정규 표현식(Regex) 활용 예제
사용 목적 정규식 예시 설명
이메일 검증 ^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$
  • 영문 소문자/숫자/특수문자(. _ % + -) 조합
  • @ 뒤에 도메인명과 최소 2자리 이상의 도메인 확장자
전화번호 확인 ^\d{3}-\d{3,4}-\d{4}$
  • 000-0000-0000 또는 000-000-0000 형식
  • \d는 숫자([0-9]와 동일)
숫자만 추출 \d+
  • 문자열에서 연속된 숫자만 매칭
  • "+"는 1회 이상 반복 의미
특정 문자 제거 REGEXP_REPLACE(col, '[^0-9]', )
  • [^0-9]: 숫자가 아닌 모든 문자
  • 숫자를 제외한 모든 문자를 공백으로 치환