我想编写一个正则表达式来查找字符串末尾有 chr(10) 和 chr(13) 的所有字符串并将其删除。
这就是我想出来的
regexp_replace(description, '['||chr(10)||chr(13)||']*$')
但是一路上我发现了一些如下所示的记录,这些记录不会被上面的正则表达式捕获。
......chr(10) chr(13) chr(32)
所以我尝试了以下方法,但无法使其工作。
regexp_replace(description, '['||chr(10)||chr(13)||']'||'[^['||chr(32)||']]*$')
我发现以下内容不起作用,因为它捕获字符串末尾有 chr(32) 的所有记录。我的要求是删除 chr(10) 和 chr(13)。
regexp_replace(description, '['||chr(10)||chr(13)||chr(32)||']*$')
有人可以帮我找到正确的正则表达式吗?
举个例子
sometext... chr(10) chr(13) chr(32)
我想删除 chr(10) chr(13) 并保留 chr(32),但前提是这些特殊字符出现在字符串末尾。
作为一个实际场景,有些人从文档中复制地址并用特殊字符粘贴。
文字:
千禧研究所
预期输出:
千禧学院
但是一路上我发现了一些如下所示的记录,这些记录不会被上面的正则表达式捕获。
......chr(10) chr(13) chr(32)
您要更换:
['||chr(10)||chr(13)||']+
*
(或者,也许是更广泛的空白字符 \s*
)(<previous regex>)+
$
这给出了:
REGEXP_REPLACE(description, '(['||chr(10)||chr(13)||']+\s*)+$')