我在Verizon Premium订阅下创建了具有端点的Azure CDN。然后,我登录到Azure Verizon平台,将新规则添加到引擎中。如果URL末尾没有扩展名,则会自动添加.html。在Azure Verizon中,它看起来像这样:

但是,如果您用^.*/[^/.]+$替换.+\/[^\.]\w+$,它将不会像以前一样工作,不知道为什么,也不会出现验证错误。在我读了this article之后,我怀疑这与正则表达式的风格有关,但我一点也不确定。
发布于 2018-12-14 02:04:07
当您不确定所使用的正则表达式引擎时,请尝试仅使用最常见的正则表达式构造,如.、*、[...]。因此,请尝试[a-zA-Z0-9_],而不是\w。
不要转义[...]内部的任何东西,请记住,要做到这一点,您需要将]放在初始[之后(不是在ECMAScript风格中,您将不得不在字符类中转义] ),-可以放在字符类的末尾而不是转义,^不应该放在开头。请注意,\只能在NFA中转义,在基于POSIX的正则表达式中,在括号表达式中,\被解析为文字\字符,因为POSIX括号表达式不支持它们内部的正则表达式转义。在[...]中转义.是没有意义的,当使用u修饰符编译时,[\.]在JS ES6正则表达式中是一个无效的模式。因此,编写[^.]更安全。
正则表达式分隔符只在一些编程语言中用来定义正则表达式,但在这样的软件中,您只能处理字符串模式。因此,/没有任何特殊之处,也不需要进行转义。
因此,我在这里使用以下正则表达式:
.+/[^.][0-9a-zA-Z_]+$https://stackoverflow.com/questions/53745515
复制相似问题