从虐待.ch可以得到一个包含恶意软件分发 URI 的纯文本文件。我想将其用作 squid 代理的黑名单(尚不确定运行时行为)。将 URI 文件转换为正则表达式文件以供acl aclname url_regex ...
使用应该不难sed
,但我很难找到 squid 正则表达式语法描述来识别我必须转义的所有特殊字符。
答案1
鱿鱼明白GNU正则表达式(扩展正则表达式,又名:正则表达式)。
它不能完全理解 Perl 正则表达式,又称:聚合酶链反应。
前任:\w、\d、\W、\D、前瞻、负前瞻、害羞分组、原子组等。..)
工作示例:
^(outlook-[1-9]\.cdn|attachments|res\.cdn)\.office\.net$
^c[0-9]+.*(powerpoint|word|excel|visio).*[0-9]{2}\.cdn\.office\.net$
^trello-[a-zA-Z0-9]+\.s3\.amazonaws\.com$
无效的示例,但 PCRE 有效:
^(outlook-\d\.cdn|attachments|res\.cdn)\.office\.net$
^c\d+.*(powerpoint|word|excel|visio).*\d{2}\.cdn\.office\.net$
^trello-\w+\.s3\.amazonaws\.com$
^rr?[1-9]-{2,4}sn-(?!.*-apn[a-z]).*\.googlevideo\.com)$
更多信息: https://www.gnu.org/software/gnulib/manual/html_node/Regular-expressions.html https://www.gnu.org/software/grep/manual/html_node/Regular-Expressions.html