如何修复这个regexp?

如何修复这个regexp?,regex,oracle,regexp-replace,Regex,Oracle,Regexp Replace,我有一个regexp(,\s*?\n)(\s*?),根据它应该可以工作。唯一的问题是它不是。我想要实现的是: ”一些文本, )“ 将转换为 “一些文本 )“ 我知道,如果我的regexp能够以某种方式工作,那么输出字符串将是: “一些文本) 有没有办法不将“)”移动到与“某些文本”相同的行 我用于测试的样本: declare l_example varchar2(32000); begin l_example :='some text, )'; dbms_outp

我有一个regexp(,\s*?\n)(\s*?),根据它应该可以工作。唯一的问题是它不是。我想要实现的是:

”一些文本,
)“

将转换为

“一些文本
)“

我知道,如果我的regexp能够以某种方式工作,那么输出字符串将是:

“一些文本)

有没有办法不将“)”移动到与“某些文本”相同的行

我用于测试的样本:

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;
/
请检查以下内容:

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

太好了!现在它工作了!非常感谢。即使是regexp_replace(l_示例,“(,\s*?”| | | CHR(10)| | |”)(\s*?)”,“\2”)也会返回正确的结果。所以看起来“\n”根本不起作用。在哪里可以找到oracle的regexp符号的完整列表?我发现最好的是,它不包含CHR(10)。@M.Dawid-