Можно ли избежать набора символов с помощью регулярного выражения.
Пример:
Input: name!surname
Output: name\!surname
Идея состоит в том, чтобы избежать всех не alphanumeri c символов, я знаю как написать регулярное выражение, чтобы найти их, но на самом деле изо всех сил пытаться убежать.
Использование Oracle SQL с REGEXP_REPLACE()
:
SELECT regexp_replace('name!surname?', '[^a-zA-Z\d\s:]', '#') from sys.dual;
Вывод будет выглядеть следующим образом name#surname#
но я хотел бы знать, возможно ли получить что-то вроде name\!surname\?
.
Мне нужно экранировать все символы не alphanumeri c для Oracle Text для анализа запроса.
Я не могу использовать {} для мульти-экранирования, так как он не работает с подстановочным знаком%.