我创建了带有Verizon Premium订阅下的终结点的Azure CDN。然后,我登录到Azure Verizon平台,以向引擎添加新规则。如果URL末尾没有扩展名,则将自动添加.html。在Azure Verizon中,它看起来像这样:
但是,如果将.+\/[^\.]\w+$
替换为^.*/[^/.]+$
,它将无法正常工作,不知道为什么,并且不会出现验证错误。在我读完this article后,我怀疑可疑与正则表达式的风格有关,但我不确定。
答案 0 :(得分:2)
如果不确定使用的正则表达式引擎,请尝试仅使用最常见的正则表达式构造,例如.
,*
,[...]
。因此,请尝试使用\w
而不是[a-zA-Z0-9_]
。
请勿在{{1}}内进行任何转义,请注意,您需要将[...]
放在初始]
的后面(不是ECMAScript风格,您必须转义{{ 1}}放在字符类中),[
可以不加转义地放在字符类的末尾,]
不应在开头。请注意,-
仅可以在NFA正则表达式中转义,在基于POSIX的正则表达式中,在方括号表达式中,^
被解析为文字\
字符,因为POSIX方括号表达式不支持内部的正则表达式他们。在\
内转义\
是没有道理的,.
是用[...]
修饰符编译的JS ES6正则表达式中的无效模式。因此,写[\.]
更安全。
Regex定界符仅在某些编程语言中用于定义正则表达式,但是在此类软件中,您仅处理字符串模式。因此,u
并不特殊,不必转义。
因此,我将在此处使用以下正则表达式:
[^.]