正则表达式查找以下字符串的任意 1 个或多个实例 &|>= |" |* | ? |[ | ]|(双倍空格) |



试图在数据库中清理一些数据,我们需要从数据库中的一些文本列中删除这些字符。需要找到所有具有这些字符的行,然后我将替换它们,并将它们发送给数据团队,以使用用户提供的所需替换进行重新插入

regexp_like (DESCRIPTION, '&|*|>=|;|?|  |[|]')

最后只返回表中的每一行

这是一个oracle数据库

需要在数据库的文本字段中找到以下任何一项:

&
*
>=
;
?
(double spaces)
[
]

使用:转义具有特殊regex含义的字符(在您的情况下是字符"*?|[]"(

regexp_like (description, '&|*|;|?|[|]|  |||>=')

观看现场演示。

或者将单个字符放在一个字符类中,其中大多数字符都失去了其特殊的正则表达式含义,因此不需要转义:

regexp_like (description, '[&*;?|[]|]|  |>=')

观看现场演示。


将转义的]放入字符类中

regexp_like (description, '[&*;?|[]]|  |>=')

应该有效(它适用于我使用过的所有regex风格(,但不适用于Oracle🤷.

最新更新