You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用regexp_replace清理URL域名后缀异常,求正确正则写法

问题原因

你的正则表达式里的.是正则特殊字符,代表任意单个字符,而非字面量的点号。所以.com会匹配任意字符+com,.net会匹配任意字符+net,这就导致非目标位置的字符被错误替换。另外,你没加结尾锚点$,正则会匹配字符串中所有符合模式的片段,而非仅结尾的URL后缀。

解决方案

把点号转义为\.,并添加结尾锚点$来限定只替换字符串末尾的.com或.net,如果需要匹配更多后缀,可以扩展括号内的内容:

SELECT id, url, regexp_replace(url, '\.(com|net)$', '', 'g')
FROM companies;

如果你的需求是替换所有出现的.com/.net(不仅仅是结尾),去掉$即可:

SELECT id, url, regexp_replace(url, '\.(com|net)', '', 'g')
FROM companies;

针对你的例子network_company.net,使用带$的正则会精确替换末尾的.net,得到预期结果network_company。

内容的提问来源于stack exchange,提问作者ltx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 23:31:01