본문 바로가기
오라클(Oracle)/오라클 메모

[오라클] oracle | 오라클 정규표현식(regular expression)

by 메모지 2021. 7. 13.
[오라클] oracle | 오라클 정규표현식(regular expression) | 정규식

 

1. REGEXP_COUNT(source_char, pattern, position, match_param)

 : 검사 대상에서 패턴이 발생한 횟수를 반환


- source_char : 검사 대상

- pattern : 패턴

표현 의미
[] 패턴 목록
^ [ ] 안에서, 제외(not)
a ~ z, A~Z 알파벳
- [ ] 안에서, 범위
0 ~ 9 숫자
| 또는

- position : 검사 시작 위치(1부터 시작, 0 아님)

- match_param : 검사 옵션

표현 의미
i 대소문자 구분 안함(case-insensitive matching)
c 대소문자 구분(case-sensitive matching)

 


[Oracle 11g] 1. REGEXP_COUNT 테스트 예제)

WITH TEST AS (
    SELECT '1' AS NUM, ') 0 1254854 02' AS SAMPLE FROM DUAL UNION
    SELECT '2' AS NUM, '( 123548652154' AS SAMPLE FROM DUAL UNION
    SELECT '3' AS NUM, '568546\1234584' AS SAMPLE FROM DUAL UNION
    SELECT '4' AS NUM, 'A*54TES456215S' AS SAMPLE FROM DUAL UNION
    SELECT '5' AS NUM, '95125485454215' AS SAMPLE FROM DUAL UNION
    SELECT '6' AS NUM, 'ASDFE456210000' AS SAMPLE FROM DUAL
)
SELECT A.NUM
     , A.SAMPLE
     , REGEXP_COUNT(A.SAMPLE,'[^a-z|^0-9]',1,'i') AS RESULT
  FROM TEST A
ORDER BY NUM
;

* [^a-z|^0-9] : 알파벳 또는 숫자가 아닌 문자 찾기

* 1 : 처음부터 찾기

* i : 대소문자 구분 안 함

 

1. REGEXP_COUNT 테스트 결과)

oracle_regularExpression

 


2021.07.13 신규

 

'오라클(Oracle) > 오라클 메모' 카테고리의 다른 글

[오라클] oracle | EXISTS  (0) 2021.12.02
[오라클] oracle | TO_DATE  (0) 2021.11.10
[오라클] oracle | 오라클 버전 확인  (0) 2021.07.06
[오라클] oracle | REPLACE  (0) 2021.07.06

댓글