而只是爲了在regular expression replace方式拋出:
with TestData as(
select 'F:AA BB:F:BB CC dd:F:ZZ Xx Y:L:Hello:F:Goodbye' text from dual
)
select testData.text ,
REGEXP_REPLACE(testData.text, '(:)([F|L]+:)',CHR(13)||CHR(10) || '\2') REG_REP
from testData
;
TEXT REG_REP
---------------------------------------------- -----------
F:AA BB:F:BB CC dd:F:ZZ Xx Y:L:Hello:F:Goodbye F:AA BB
F:BB CC dd
F:ZZ Xx Y
L:Hello
F:Goodbye
REGEXP_REPLACE(testData.text, '(:)([F|L]+:)',CHR(13)||CHR(10) || '\2')
()標記分組,可能是在參考文獻中的\ GroupPosition代替#
(:)([F|L]+:)
漂亮很多人說是找一個:然後是F:或L:
CHR(13)||CHR(10) || '\2'
然後將找到的文本替換爲「CHR(13)|| CHR(10)||」 +第二組
這是不錯的一個 – user2001117