我在Postgres中使用regexp_replace来清理一些雅虎邮箱地址。
SELECT regexp_replace(domain,'yahoo\.co[^\.].*','yahoo.com') FROM table
很遗憾,此表达式匹配了我不想匹配的类型 yahoo.com.tw 。我希望正则表达式不匹配以下内容:
yahoo.es
yahoo.co.jp
yahoo.com.tw
MATCH:
yahoo.com,
yahoo.com.
yahoo.com'
我已经做了几个小时并查看了stackoverflow中的几个链接,例如: 正则表达式匹配不包含某个单词的行?
它们帮助我编写了一个负向先行断言,但似乎无法将其与yahoo部分结合起来。
负向先行断言
^(?!.*(\.com?\.|\.[a-z]{2})).*$
这里是regex101的数据和公式。
如有建议,将不胜感激。谢谢。
yahoo.es
应该匹配吗? - HTNW