Oracle заменяет квадратные скобки REGEX_REPLACE - PullRequest
0 голосов
/ 30 января 2019

В одной из моих таблиц есть строки, в которых мне нужно заменить некоторые специальные символы, такие как ' _ ? ° и квадратные скобки [ ].Когда я пытаюсь это сделать, это работает как ожидалось:

SELECT REGEXP_REPLACE('BIG''EAST_?°[]', '[_?°'']', ' ') FROM DUAL;

Я получаю:

BIG EAST   []

Затем я добавляю квадратные скобки в свое регулярное выражение:

SELECT REGEXP_REPLACE('BIG''EAST_?°[]', '[_?°''\[\]]', ' ') FROM DUAL;

Iожидал этого:

BIG EAST

Но я получаю:

BIG'EAST_?° 

Как мне правильно убрать квадратные скобки в моем регулярном выражении?

1 Ответ

0 голосов
/ 30 января 2019

Вам необходимо добавить *, чтобы соответствовать множеству вхождений (и в любом порядке) символов из вашего шаблона

SELECT REGEXP_REPLACE('BIG''EAST_?°[]', '[_?°''\[\]]*', ' ') FROM DUAL;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...