Maskeney
V2EX  ›  问与答

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

  •  
  •   Maskeney · Jun 4, 2021 · 1009 views
    This topic created in 1983 days ago, the information mentioned may be changed or developed.

    形如 "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
    AoEiuV020
    Jun 4, 2021
    1
    ^(?!.*(lo|b|re)ad).*$
    Maskeney
    Maskeney
    OP
    Jun 4, 2021
    2
    @AoEiuV020 #1 这个匹配范围成了只要没有 lo|b|re ad 就匹配上了,AdGuardHome 的规则是要匹配所有查询的域名的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4063 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:51 · PVG 15:51 · LAX 23:51 · JFK 02:51
    ♥ Do have faith in what you're doing.