티스토리 뷰
・정규표현식
:REGEXP_LIKE( string, pattern [, match] )
・어설션(Assertions)
:행이나 단어의 시작/끝을 나타내는 경계와 (앞 뒤를 읽고 조건식을 포함한) 어떤 식으로든 매치가 가능한 것을 나타내는 다른 패턴이 포함된다
정규식 패턴 | 설명 | 예제 |
^ | 문장의 시작 (특정 문자열로 시작) | REGEXP_LIKE(:checkText, '^[0-9a-zA-Z]{1}') |
$ | 문장의 끝 (특정 문자열로 끝남) | REGEXP_LIKE(:checkText, '[0-9]{3}$') |
・수량자(Quantifiers)
:일치시킬 문자 또는 표현식의 개수를 의미
정규식 패턴 | 설명 |
? | 없거나 있거나 (zero or one) |
* | 없거나 있거나 많거나 (zero or more) |
+ | 하나 또는 많이 (one or more) |
{n} | n개가 있는 |
{min,} | 최소 |
{min, max} | 최소, 그리고 최대 |
======================
일할 때 자주 쓰는 정규식
======================
예제1)
첫번째 문자가 숫자만 NOT REGEXP_LIKE(:checkText, '^[0-9]{1}')
SELECT
'체크하는 텍스트가 정규식에 부합하지않음 (' || :checkText || ')' AS MESSAGE
FROM DUAL
WHERE NOT REGEXP_LIKE(:checkText, '^[0-9]{1}')
예제2)
첫번째 문자가 영소/대문자 또는 숫자만 NOT REGEXP_LIKE(:checkText, '^[ a-zA-Z0-9 ]{1}')
SELECT
'체크하는 텍스트가 정규식에 부합하지않음 (' || :checkText || ')' AS MESSAGE
FROM DUAL
WHERE NOT REGEXP_LIKE(:checkText, '^[ a-zA-Z0-9 ]{1}')
예제3)
첫번째 문자가 영소/대문자 또는 숫자만 ,
2번째는 숫자, 영소/대문자 또는 숫자만,
3번째는 끝에서 4~6번째 문자가 숫자만 될 때
NOT REGEXP_LIKE(: checkText , '^[0-9a-zA-Z]{1}[0-9]{1}[0-9a-zA-Z]{1}[0-9]{3}$')
SELECT
'체크하는 텍스트가 정규식에 부합하지않음 (' || :checkText || ')' AS MESSAGE
FROM DUAL
WHERE NOT REGEXP_LIKE(:checkText , '^[0-9a-zA-Z]{1}[0-9]{1}[0-9a-zA-Z]{1}[0-9]{3}$')
--ex) 123456, A12345, 11A1234 ⇒ OK /
--ex) 11111(문자갯수 부족), 1A2345(2번째가 숫자가 아님), 123A45(3번째가 숫자가아님) ⇒ NG
'Oracle' 카테고리의 다른 글
[Oracle]RANK(), PARTITION BY 순위 함수 (0) | 2021.01.27 |
---|
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 유틸리티
- 동기통신
- 초기화파라미터파일
- TrimEnd
- in/out/ref 차이점
- C#
- pl/sql
- VB.Net
- REVOKE
- 참조전달
- vba
- 시간차이
- USER_SYS_PRIVS
- 에러
- NLog
- EXCEPTION절
- in/out/ref
- rollback
- 유틸리티에러
- in/out/ref 공통점
- PL/SQL 실행문
- BEGIN절
- commit
- DBA_SYS_PRIVS
- grant
- Oracle
- in/out/ref 예제
- PL/SQL 예외처리문
- DECLARE절
- 후나빙
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함