1:使用本
regexp_replace(regexp_replace(regexp_replace(regexp_replace(regexp_replace(regexp_replace(regexp_replace(regexp_replace(regexp_replace( pattern, '(\()', '\1#') , '(\))', '#\1') , '\(#', ')#') , '\^\)#', '^') , '#\)\$', '$') , '#\)', '(#') , '#', '') , '\^([^\(]+\))', '^(\1') , '\(([^\)]+)\$', '(\1)$');
所以反向模式,; 「^ .. $(。)(。)。」變成「^。(..)。(。)$」;
2:對文本到被掩蓋的同時匹配模式:兩個模式
SELECT REGEXP_instr(pattern, '\(.*?\)+', 1, LEVEL) bulk collect into posCapture FROM v CONNECT BY LEVEL <= REGEXP_COUNT(pattern, '\(.*?\)');
3中使用此批量收集指標和捕獲組的數量。合併他們在步驟2
select regexp_replace(v_src, pattern, '\' || captureIndex) into tempStr from dual;
開始賞金出現的順序! –
仍然有點混淆你想要的東西。你能給出一個簡單的輸入/輸出想要的結果的例子嗎? – tbone
我在@tbone這裏;我不知道你想要掩飾什麼,以及你想要它看起來像什麼。 – Ben