regex 使用正则表达式删除单字母后跟句点[已关闭]

8hhllhi2  于 2023-05-19  发布在  其他
关注(0)|答案(1)|浏览(113)

**关闭。**此题需要debugging details。目前不接受答复。

编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答这个问题。
昨天关门了。
Improve this question
目前我有一个正则表达式,它可以做一些事情。

trim(regex_replace(NAME,'[^a-zA-Z.-]+', ' '))

当一个名称包含单个字母,后跟句点时,

Anthony A.K.A. Rock?

我想去掉单个字母和后面的句号。换句话说,我想要以下结果:

Anthony Rock?

如何修改当前的正则表达式来处理这种情况?

col17t5w

col17t5w1#

查找字符串开头或后跟一个或多个字母和点的任何非字母字符。为了摆脱空格组,您可以在搜索模式中包含0到n个尾随空格(' *')。用前导非字母字符(或字符串开头,即无)。

select regexp_replace(name, '(^|[^a-zA-Z])([a-zA-Z]\.)+ *', '\1')
from mytable;

演示:https://dbfiddle.uk/3JHDz2Pj

相关问题