gpt4 book ai didi

regexp_replace 负前瞻清理电子邮件地址

转载 作者:行者123 更新时间:2023-11-29 11:46:51 26 4
gpt4 key购买 nike

在 postgres 中,我使用 regexp_replace 清理一些雅虎电子邮件地址。

SELECT regexp_replace(domain,'yahoo\.co[^\.].*','yahoo.com')  FROM table  

不幸的是,此表达式与我希望NOT MATCHyahoo.com.tw 类型相匹配。我希望正则表达式:

不匹配:

yahoo.es
yahoo.co.jp
yahoo.com.tw

匹配:

yahoo.com,
yahoo.com.
yahoo.com'

我已经研究了好几个小时,并查看了堆栈中的几个链接,如下所示: Regular expression to match a line that doesn't contain a word?

他们帮助我写了一个负面的前瞻性的东西,但似乎无法将它与 yahoo 部分结合起来

负前瞻

     ^(?!.*(\.com?\.|\.[a-z]{2})).*$    

这是 regex101数据和公式。
任何建议将不胜感激。谢谢。

最佳答案

此模式匹配您的 yahoo REPLACE 部分正下方的所有内容,而不是上面的好案例:

^yahoo\.com?(?:(?!\.[a-z]{2}).)*(?:.com?)?$

Demo

下面的其他情况,比如 yahool.com,可以添加为可选匹配,如下所示:

^yahoo\.com?(?:(?!\.[a-z]{2}).)*(?:.com?)?$|^yahoo$|^yahool\.com|^yahooo\.com|^yahoo\.net|^yahoocom$

等但是,有些可以很容易地组合在一起。

关于regexp_replace 负前瞻清理电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47445449/

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