ABC/ABD/팀1/가나
ABC/ABD/팀2/가나/가나다라/bad
ABC/ABD/팀2/가나/가나다라/bad
BC/가나/3팀
ABC/가나/아이&비
이런식으로 있을때 특수문자가 없을땐 팀1,팀2,팀3이 뽑혀져나오는데 &특수문자로 인해 '아이' 까지만 나올 땐 아이&비 까지 뽑을려면 어떻게 처리 해야 할까요?
/ 패터으로 잡아 2번째 / 에서 3번째 / 까지 문자 뽑아오는것 까지 했는데 특수문자로 인해 패턴을 몾맞추겠네요. 모든문자 해버리면 /를 무시해버리고
정규식이 머리 아프네요..
글세요? 정규식을 어떻게 사용했길래 & 가 문제가 될까요?
혹시 정규식 문제가 아니라, & 를 변수로 인식해서 그런게 아닐런지요?
http://gurubee.net/lecture/1148
SET DEFINE OFF; WITH t AS ( SELECT 'ABC/ABD/팀1/가나' v FROM dual UNION ALL SELECT 'ABC/ABD/팀2/가나/가나다라/bad' FROM dual UNION ALL SELECT 'ABC/ABD/팀2/가나/가나다라/bad' FROM dual UNION ALL SELECT 'BC/가나/3팀' FROM dual UNION ALL SELECT 'ABC/가나/아이&비' FROM dual ) SELECT v , REGEXP_SUBSTR(v, '[^/]+', 1, 3) x1 , SUBSTR(v, INSTR(v, '/', 1, 2) + 1, INSTR(v||'/', '/', 1, 3) - INSTR(v, '/', 1, 2) - 1) x2 FROM t ;