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}$
答案 0 :(得分:0)
你试图从错误的角度解决这个问题。尝试缩小 允许的网址范围,而不是列出不允许的每种网址格式。过滤掉相应格式的网址后,再运行一些可以找到特定黑名单字符序列的regexen(如www
或您确认的19个恶意网站)。
由于即使您不确定这些安全网址是什么,我也无法帮助创建该正则表达式,直到您弄清楚您想要允许的内容为止。