SQL

정규식 지원

별다방체리콕 2024. 1. 8. 09:28

 

 

 

 

 

정규식이란?

💡 다음을 사용하여 정규식 지정

  • 메타문자 : 검색 알고리즘을 지정하는 연산자
  • 리터럴 : 검색 중인 문자
  • 정규식에서 표준 구문 규칙을 사용하여 문자열 데이터의 간단한 패턴 및 복잡한 패턴을 검색하고 조작 가능
  • SQL 함수 및 조건 집합을 사용하여 SQL 및 PL/SQL에서 문자열을 검색하고 조작 가능

 

 

 

 

 

 

 

 

정규식 사용 시 이점

💡 정규식을 사용하여 데이터베이스에서 복잡한 일치 논리를 구현하면 다음과 같은 이점 발생

  • 오라클 데이터베이스에서 일치 논리를 중앙화함으로써 middle-tier 응용 프로그램에 의한 SQL 결과 집합의 집중적인 문자열 처리 방지
  • 서버 측 정규식을 사용하여 제약 조건을 적용함으로써 클라이언트에서 데이터 검증 논리 코드를 작성할 필요 X
  • 내장 SQL 및 PL/SQL 정규식 함수와 조건을 사용하여 Oracle Datebase 11g의 이전 릴리스보다 더욱 쉽고 강력하게 문자열 조작 가능

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

메타 문자란?

💡 대체 문자, 반복 문자, 일치하지 않는 문자 또는 일련의 문자와 같이 특별한 의미를 지닌 특수 문자

  • 패턴 일치에서 여러 가지 미리 정의된 메타 문자 기호 사용 가능
  • 예를 들어, ^(f|ht)tps?:$ 정규식은 문자열 시작 부분에서 다음을 검색함
    • 리터럴 f 또는 ht
    • t 리터럴
    • p 리터럴 (선택적으로 다음에 s 리터럴이 나옴)
    • 문자열 끝부분의 “:” 리터럴

 

 

 

 

 

 

 

 

 

 

 

정규식에서 메타 문자 사용

구문 설명
. 지원되는 character set에서 NULL을 제외한 임의의 문자와 일치
+ 한 번 이상 발생 수 일치
? 0번 또는 한 번 발생 수 일치
* 선행 하위식의 0번 이상 발생 수 일치
{m} 선행 하위식의 정확히 m번 발생 수 일치
{m,} 선행 하위식의 정확히 m번 이상 발생 수 일치
{m,n} 선행 하위식과 최소 m번 이상, 최대 n번 이하 발생 수 일치
[…] 괄호 안의 리스트에 있는 임의의 단일 문자와 일치
| 여러 대안 중 하나와 일치
( … ) 괄호로 묶인 표현식을 한 단위로 취급함
하위식은 리터럴의 문자열이나 연산자를 포함한 복잡한 표현식이 될 수 있음

 

 

 

 

 

 

 

 

 

 

정규식에서 메타 문자 사용

구문 설명
^ 문자열 시작 부분과 일치
$ 문자열 끝부분과 일치
\ 표현식에서 후속 메타 문자를 리터럴로 처리
\n 괄호 안에 그룹화된 n번째 선행 하위식과 일치
\d 숫자 문자
[:class:] 지적된 POSIX 문자 클래스에 속한 임의의 문자와 일치
[^:class:] 괄호 안의 리스트에 없는 임의의 단일 문자와 일

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n번째 하위식에 액세스하는 이유

  • 더욱 실제적인 사용 : DNA 시퀀싱
  • 쥐의 DNA에서 면역에 필요한 단백질을 식별하는 특정 하위 패턴을 찾음

'SQL' 카테고리의 다른 글

MySQL 서버 설치  (1) 2024.01.24
SQL 작성 가이드  (2) 2024.01.23
데이터 검색  (1) 2024.01.05
데이터 관리  (1) 2024.01.05
대형 데이터  (1) 2024.01.05