gpt4 book ai didi

PostgreSQL regexp.replace 所有不需要的字符

转载 作者:行者123 更新时间:2023-11-29 13:24:00 25 4
gpt4 key购买 nike

我的 PostgreSQL 表中的注册码写得很乱,比如 MU-321-AB、MU/321/AB、MU 321-AB 等等...
我需要清除所有这些才能获得 MU321AB。

为此,我使用以下表达式:

SELECT DISTINCT regexp_replace(ccode, '([^A-Za-z0-9])', ''), ...

此表达式在“NET”中按预期工作,但在 PostgreSQL 中不起作用,它仅“清除”不需要的字符的第一次出现。

我将如何修改正则表达式以替换字符串中所有不需要的字符以获得仅包含字母和数字的清晰代码?

最佳答案

使用 g 全局标志,但没有任何捕获组:

SELECT DISTINCT regexp_replace(ccode, '[^A-Za-z0-9]', '', 'g'), ...

请注意,全局标志是标准正则表达式解析器的一部分,因此 .NET 在这种情况下不遵循标准。此外,由于您不想从字符串中提取任何内容 - 您只想替换一些字符 - 您不应使用捕获组 ()

关于PostgreSQL regexp.replace 所有不需要的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37087078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com