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

正则匹配.watch/.video结尾域名无法排除fb.watch怎么解决

问题根源

你当前正则无法排除fb.watch的核心原因是负向先行断言的匹配逻辑和位置错误。先行断言只会检查当前位置往后的内容,当你匹配.watch后缀时,当前位置已经在fb和.watch的分界点,往后只能看到.watch,不可能匹配到fb.前缀,所以这条排除规则永远不会生效。

修复方案

场景1:从文本中提取符合要求的域名后缀(匹配原使用场景)

修复后的正则:

(?<!fb\.)(?!lecture\b)\b(\.video|\.watch)

规则说明:

  • 新增(?<!fb\.)负向后行断言,检查.video/.watch的前面是否跟着fb.,如果是就直接排除,完美命中fb.watch的过滤需求
  • 保留原有.videolecture过滤逻辑,调整为(?!lecture\b)确保.video后缀后不会紧跟lecture,过滤效果和你之前的规则完全一致

场景2:校验完整输入的域名是否符合要求

如果你的使用场景是校验用户输入的完整域名是否符合规则,使用以下正则:

^(?!.*\.videolecture)(?!^fb\.watch$).*(\.video|\.watch)$

规则说明:

  • 开头两个负向先行断言分别排除包含.videolecture的域名、以及完全等于fb.watch的特定域名
  • 结尾匹配.video或.watch后缀,确保域名符合后缀要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:18:04