Как исправить это регулярное выражение? - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть регулярное выражение (, \ s *? \ N) (\ s *?)) И согласно https://regex101.com/ оно должно работать.Единственная проблема в том, что это не так.То, чего я хочу достичь:

'some text, )'

будет преобразовано в

'some text )'

Я знаю, что если это регулярное выражение будеткак-то сработает, чем будет строка вывода:

'some text)'

Есть ли способ не перемещать ')' в ту же строку, что и "некоторый текст"?

Образец, который я использовал для тестирования:

declare
    l_example varchar2(32000);
begin
    l_example :='some text,
    )';
    dbms_output.put_line(l_example);
    l_example := regexp_replace(l_example, '(,\s*?\n)(\s*?\))', '\2');
    dbms_output.new_line;
    dbms_output.put_line(l_example);
END;
/

1 Ответ

0 голосов
/ 03 февраля 2019

Пожалуйста, проверьте это:

regexp_replace(l_example, '(,\s*?'|| CHR(10)||' *)(\s*?\))', '\2', 1, 1,'m');

дБ <> скрипка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...