Существует ли существующий метод PL / SQL, который принимает строку и возвращает ту же строку, но с обратными слешами, предшествующими любым символам регулярного выражения?
Попробуйте это:
result := REGEXP_REPLACE(subject, '([$^[()+*?{\|])', '\\\1', 1, 0, 'c');