我有一个 url_regex acl:^http(s)://bitbucket.org/example/*
但是,它与网址匹配:http(s)://bitbucket.org/example_test/*
这似乎没有考虑 ^http(s)://bitbucket.org/example/* 末尾的“/”
我想将任何内容与子文件夹匹配示例进行匹配。例如:bitbucket.org/example/case_1 bitbucket.org/example/case_2 但不是,bitbucket.org/example_bad/case_3
它似乎是正则表达式的特殊混合,它没有考虑“/”——
谁能看到这里有什么问题?
正如steeldriver 所说,它出于相同的原因
car*t
匹配cat
-*
表示前面的任意数量的字符,包括零。r*
匹配 and 之间的零,r
并且您 匹配 and 之间的零斜线。a
t
/*
example
_test/*
你想匹配
http(s)://bitbucket.org/example
(没有任何子目录)吗?如果没有,那很容易;只需使用或者
如果你确实想匹配
http(s)://bitbucket.org/example
,那就有点棘手了。您需要example
位于 URL 的末尾,或者后跟一个斜杠。一些正则表达式引擎会让你说|
里面(
……的)
意思是“或”。例如,grep -E
支持这个。我不知道这是否适用于 Squid。Squid 是否允许您指定多个正则表达式?如果是,请指定
和