正则表达式匹配广告而不是下载

标签 regex

我用这一行来阻止广告主机名,例如 ad.somedomain.tld 但它似乎阻止了下载、上传等主机名。

([\w.-]+\.)?ad\.[^/]+/?

正确的语法是什么,谢谢

最佳答案

DEMO regex101

正则表达式

\b(?:.?)ad(?:.?)\b

描述

\b Word boundary: match in between (^\w|\w$|\W\w|\w\W)
(?:.?) Non-capturing Group 
    . 0 to 1 times [greedy] Any character (except newline)
ad Literal ad
(?:.?) Non-capturing Group 
    . 0 to 1 times [greedy] Any character (except newline)
\b Word boundary: match in between (^\w|\w$|\W\w|\w\W)

可视化(由 debuggex 提供)

Regular expression visualization

关于正则表达式匹配广告而不是下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18305908/

相关文章:

c++ - 使用 sed 从 C++ 代码中删除异常规范

java - 正则表达式模式 "[\\P{L}]+"在 Java 中意味着什么?

javascript - 需要用户输入的特定部分

regex - Perl - 变量插值和反冲(转义)如何在替换正则表达式中工作,特别是替换部分

PHP:PCRE: 如何替换可重复的字符

python - 在 Python 中使用&符号修复无效的 XML

regex - 如何用 Perl 正则表达式替换重叠匹配项?

java - 正则表达式 - 不允许字符序列

javascript - MAC 地址的正则表达式

C# 简单正则表达式 - 32 个字符,仅包含 0-9 和 a-f (GUID)