我正在尝试配置我的Foxy Proxy程序,其中一项功能是为排除列表提供正则表达式。 我正在尝试将本地网站列入黑名单(以.local结尾),但它似乎不起作用。 这就是我的尝试:
^(?:https?://)?\d+\.(?!local)+/.*$
^(?:https?://)?\d+\.(?!local)(\d)+/.*$
我还在谷歌和Stack Exchange上进行了研究,但没有成功。
答案 0 :(得分:2)
由于您在评论中指出您确实需要白名单解决方案,我接着说:
尝试:^(?:https?://)?[\w.-]+\\.(?!local)\w+/.*$
答案 1 :(得分:1)
您的正则表达式匹配的主机名以一系列数字后跟一个句点开头,然后不是后跟字符串“local”。如果这是一个“黑名单”,那么这似乎不像你想要的那样。
如果您尝试匹配以.local
结尾的所有主机名,您需要类似以下内容的主机名部分:
[^/]*\.local(?:/|$)
根据正则表达式上下文插入适当的转义。
如果您的原始问题不正确并且您确实需要白名单,那么您需要以下内容:
^(?:(?!\.local)[^\/])*(?:\/|$)
所示
答案 2 :(得分:0)
谢谢大家的帮助。实际上,事实证明,对于这个程序,将“不.local
”列为黑名单,它与“所有.local
”不同于白名单。
我的模式上也有一个菜鸟错误。我的意思是"\w"
而不是"\d"
。谢谢Peter Alfvin抓住这个。
所以我的最终工作解决方案是Bart建议的:
^(?:https?://)?[\w.-]+\.(?!local)\w+/.*$ as a whitelist.