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

如何用正则表达式替换所有.com结尾站点 仅保留crypto.com

正则匹配排除指定域名的实现方案

你现有正则的逻辑完全写反了:你写的规则是匹配crypto.com,调用替换方法后会删掉你要保留的内容,自然无法匹配其他需要删除的.com站点。

你要实现「删除所有.com结尾的站点、仅保留crypto.com」的需求,用负向先行断言排除要保留的域名即可,正确的正则规则如下:
r"\b(?!crypto\.com)\w+\.com\b"

规则说明:

  • \b 匹配单词边界,避免误匹配到嵌入在其他单词里的域名片段
  • (?!crypto\.com) 是负向先行断言,代表接下来的内容不能是crypto.com,符合这个条件才会继续匹配
  • \w+\.com 匹配任意由字母、数字、下划线组成前缀加.com后缀的域名
  • 末尾的\b保证匹配到的是完整域名,不会只匹配域名的一部分

对应的测试代码如下:

import re

text = "我最喜欢的站点包括:crypto.com、polo.com、cryp.com和google.com"
text = re.sub(r"\b(?!crypto\.com)\w+\.com\b", '', text)
print(text)

运行后输出结果为:

我最喜欢的站点包括:crypto.com、、和

如果是你示例里的英文原句,运行后输出就是你需要的Here are my favorite things: crypto.com,, and ,完全符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:06:09