gpt4 book ai didi

regex - Postgres Regex返回逗号前的第一个词和逗号后的第一个词

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

我正在尝试使用正则表达式从列中获取名字和姓氏,但我很困惑。

我正在尝试:

select
substring('SMIRTH JR, DAVID ALLEN', '^[^ ,]+') as namemodified

它应该返回

SMIRTH, DAVID

但它只返回姓氏。我不知道如何同时获得两者。

我还需要它来工作:

SMIRTHJR, DAVID ALLEN

因为数据不是很干净。有什么想法吗?

最佳答案

使用 regexp_matches函数而不是 substring (假设 Postgresql 9.x):

select
regexp_matches(regexp_replace('SMIRTHJR, DAVID ALLEN','(JR|SR),', ','),
'([^\s,]+).*?(, [^\s,]+) [^\s,]+$') as namemodified

以上将返回 SMIRTH, DAVID对于两个输入字符串 SMIRTHJR, DAVID ALLENSMIRTH JR, DAVID ALLEN

关于regex - Postgres Regex返回逗号前的第一个词和逗号后的第一个词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47703279/

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