负面前瞻工作

时间:2016-04-09 13:19:41

标签: regex negative-lookahead

Hello StackExchange用户,

我正在尝试使用类似于Flex的东西创建RegEx,以阻止我们的代理上的Angler EK有效负载网站。问题是我无法使用负向前瞻。唯一允许的“否定”形式是否定字符集,即:[^ a-zA-Z0-9- /]等。

我的同行创造了以下内容,但它包括负面的前瞻,使其几乎无用。任何人都可以提供创造性的工作吗?我已经包含了一个需要阻止的URL的清理示例。

 YY-MO-DD HH-MI-SS_SSS       |        x          |          y     |     z
    2015-12-07 20:51:06:608  |        2          |          4     |   4.472
    2015-12-07 20:51:07:609  |        3          |          4     |    5

^http:\/\/(?!www)[^\x2f]+\/(?![A-Z]{2,}\/|[A-Z][a-z]{2,}\/|[a-z]{3,}\/|TextHere\/)(?:[a-z0-9A-Z_\.-]+\/)*\?[a-z]=(?![0-9,\.]{6,}&|[0-9]{2,32}&)(?:[^\x3d]{2,32}=[^\x26]*&[a-z]=){2,}[^\x2f]{2,32}$

1 个答案:

答案 0 :(得分:0)

你试图从错误的角度解决这个问题。尝试缩小 允许的网址范围,而不是列出不允许的每种网址格式。过滤掉相应格式的网址后,再运行一些可以找到特定黑名单字符序列的regexen(如www或您确认的19个恶意网站)。

由于即使您不确定这些安全网址是什么,我也无法帮助创建该正则表达式,直到您弄清楚您想要允许的内容为止。