V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Maskeney
V2EX  ›  问与答

请教一个正则表达式,用于 AdGuardHome 匹配追踪域名

  •  
  •   Maskeney · 2021-06-04 17:00:34 +08:00 · 510 次点击
    这是一个创建于 1305 天前的主题,其中的信息可能已经有所发展或是发生改变。

    形如 "forth.third.domain.tld" 形式的域名,匹配任意一级域名中包含以 ad 结尾,且 ad 前方的字母不是 b\lo\re 等,即不匹配 bad/download/read这些

    目前自己写了一个,由于需要保证 ad 前有不固定字符,就使用了.*来通配,但是如此会导致后面跟着的的(?!lo|re|wp|b|ksyun)被覆盖完全不生效;如果前面不加通配,就只能匹配某一级域名完全是 ad,类似 xx.ad.xx.xx 这种,预设的大范围杀伤就没有了。

    .*((?!lo|re|wp|b|ksyun)ad)(s?[\d]+|m|s)?\.
    

    还有一个类似但以 log 结尾的

    .*(?!cata|b|typ)log(s?[\d]+|_|\-|s)\.
    

    就比较难,找了半天正则的教程示例也没头绪,特来求助 V 友

    AoEiuV020
        1
    AoEiuV020  
       2021-06-04 17:25:19 +08:00
    ^(?!.*(lo|b|re)ad).*$
    Maskeney
        2
    Maskeney  
    OP
       2021-06-04 20:21:39 +08:00
    @AoEiuV020 #1 这个匹配范围成了只要没有 lo|b|re ad 就匹配上了,AdGuardHome 的规则是要匹配所有查询的域名的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1013 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 20:12 · PVG 04:12 · LAX 12:12 · JFK 15:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.