본문 바로가기

정규식3


오라클 - 정규표현식 함수 REGEXP_REPLACE() 오라클 정규표현식 함수 복습 제 2탄은 REGEXP_REPLACE() 되겠다.정규식은 참 공부하면 공부할수록 쓸 일도 많고 아주 좋고 훌륭한 녀석인 것 같다. REPLACE 가 단순하게 글자와 글자를 비교해 치환을 해준다면 REGEXP_REPLACE 또한 REGEXP_SUBSTR 과 마찬가지로 정규식을 이용해 좀 더 다양하고 자세한 패턴으로 문자열을 검색, 변경할 수 있다. 우선은 간단한 것부터 예를 들어서 해보자. 기본 문법은 아래와 같다.REGEXP_REPLACE(COLUMN, [REG_EXP], [REPLACE_STR], [START_INDEX], [REPLACE_INDEX]) /* 기본적인 사용 방법 */ SELECT REGEXP_REPLACE('안녕하세요., 반갑습니다./', '\..', '.'.. 2018. 4. 1.
오라클 - 정규표현식 함수 REGEXP_SUBSTR() 이번에는 오라클 정규표현식의 여러 함수 중 REGEXP_SUBSTR() 에 대한 복습이다. SUBSTR 이 단순하게 인덱스를 지정해 문자열을 잘라냈다고 한다면 REGEXP_SUBSTR 은 정규식을 이용해좀 더 다양한 방법, 다양한 패턴으로 문자열을 자르는 것이 가능하다. 예를 들자면 이메일 주소에서 아이디, 도메인을 잘라서 따로 표기해야 한다고 했을 때 SUBSTR 은 뭐 @ 의 인덱스를 찾고 어쩌고 뭐하고 했을 것을 간단하게 아래와 같은 문장으로 처리할 수 있다. SELECTMEM_EMAIL , REGEXP_SUBSTR(MEM_EMAIL, '[^@]+', 1, 1) AS EMAIL_ID , REGEXP_SUBSTR(MEM_EMAIL, '[^@]+', 1, 2) AS EMAIL_DOMAIN FROMREG.. 2018. 4. 1.
정규식 표현 정규표현식 설명 예문 결과값 추가설명 ^x 문자열이 x로 시작함 REGEXP_LIKE(LAST_NAME, '^A') Atkinson 대소문자 구별 Ande Abel x$ 문자열이 x로 끝남 REGEXP_LIKE(LAST_NAME, 'n$') Bernstein 대소문자 구별 Olsen McEwen . 임의의 한 문자 REGEXP_LIKE(LAST_NAME, 'n.z') Lorentz 대소문자 구별 x+ x가 1개 이상 존재함 REGEXP_LIKE(LAST_NAME, 'in+s') Atkinnson 예시는 k 뒤에 i 가 1개 이상 오는 것을 찾는다. 단독으로 사용하기는 의미 없을 것 같다. Marvins Perkins Higgins x* x가 0개 이상 존재함 REGEXP_LIKE(LAST_NAME, 'i.. 2018. 3. 10.