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

如何编写匹配顶级域非.com等指定后缀的URL正则表达式

匹配非指定TLD完整URL的正则表达式(适配Exchange Online)

需求说明

匹配顶级域不属于.com、.net、.org、.info、.edu、.gov、.ca的完整URL,用于Exchange Online入站邮件过滤,后续可灵活扩充排除的TLD列表。

最终可用正则

\bhttps?://[a-zA-Z0-9-._~:/?#[\]@!$&'()*+,;=%]+?\.(?!com|net|org|info|edu|gov|ca)([a-zA-Z]{2,})(?:/[a-zA-Z0-9-._~:/?#[\]@!$&'()*+,;=%]*)?\b

逻辑说明

  • 开头边界符+https?://:精准匹配URL的http/https协议头,避免误匹配文本中间的零散内容
  • 非贪婪匹配域名段:匹配子域名、多级域名前缀,直到顶级域前的最后一个点
  • 负向预查(?!com|net|org|info|edu|gov|ca):核心过滤逻辑,排除指定TLD,后续新增排除项直接在括号内加|新后缀即可,比如要排除.uk则修改为(?!com|net|org|info|edu|gov|ca|uk)
  • 顶级域匹配+可选路径匹配:兼容带路径、参数、端口的完整URL格式
  • 结尾边界符:确保匹配到完整的URL,不会截断内容

匹配效果验证

会被正则命中的URL(符合过滤规则)

  • https://www.example.ru:TLD为ru,不在排除列表
  • http://www.example.xyz/index.php:TLD为xyz,不在排除列表
  • https://someserver.example.co.uk/home:TLD为uk,不在排除列表

不会被正则命中的URL(不符合过滤规则)

  • https://www.example.com:TLD为com,在排除列表
  • http://www.example.info/index.php:TLD为info,在排除列表
  • https://someserver.example.ca/home:TLD为ca,在排除列表

Exchange Online配置注意事项

  1. 新建邮件流规则时,选择「邮件头或正文包含任何这些文本模式」的条件,直接填入上述正则即可
  2. 建议先将规则设置为测试模式,仅记录日志不拦截,运行1-2周确认无误后再开启拦截动作,避免误杀正常业务邮件
  3. Exchange Online正则默认不区分大小写,无需额外添加大小写匹配逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:54:04