디비버 정규식 질문 0 2 846

by zzee [SQL Query] [2021.09.14 15:17:23]


초보입니다!

 

1. 디비버에서 (?=) , (?!) 이런 종류의 탐색과 (?:) 이런 논캡처링 그룹핑은 안되나요?

2. '김$ - 가나다#.mp3' 문자열에서 '가나다# by 김$' 으로 replace를 하고 싶습니다.

SELECT REGEXP_REPLACE('김 - 가나다.mp3', '([가-힣\w]+) - ([가-힣\w]+).mp3', '\2 by \1') song FROM DUAL

 특수문자가 없는 경우는 위와같이 해서 결과 도출이 되는데, 특수문자가 제목과 이름에 들어갔을 때는 예외가 발생합니다!

또한, #$ 뿐만 아니라 어떤 특수문자인 경우에도 먹히는 패턴을 만들고싶습니다. 

ex) 김# - aaa50%가나다.mp3 이런 경우에도요! 

아시는분 도움 부탁드립니다

by 마농 [2021.09.14 17:51:39]
-- Oracle 에서 Test --
WITH t AS
(
SELECT '김$ - 가나다#.mp3' v FROM dual
UNION ALL SELECT '김# - aaa50%가나다.mp3' FROM dual
)
SELECT v
     , REGEXP_REPLACE(v, '(.+) - (.+)\.mp3', '\2 by \1') x
  FROM t
;

 


by zzee [2021.09.15 09:27:13]

감사합니다!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입