正则表达式

lighttpd2 使用 GLib 的“Perl 兼容正则表达式”实现,请参阅其正则表达式语法文档。

配置格式有不同的方式提供字符串(你可以使用 '" 进行引用;如果引用字符在字符串内部使用,则必须用 \ 进行转义)。
简单的(标准)方式 "text" 具有以下转义规则

  • "\n" 是换行符,"\r" 是回车符,"\t" 是制表符
  • "\\" 是一个 \"\"" 是一个双引号 ""\'" 是一个单引号 '
  • 如果单引号/双引号符号未用于终止字符串,则转义是可选的,即 '\"' = '"'"\'" = "'"
  • "\xNN": NN 必须是十六进制字符,字符串将被替换为解码后的 8 位单字节值
  • 所有其他 \ 出现次数都**不会**从字符串中移除。

这种方式是正则表达式的首选方式;只有当您要实际匹配 \ 时,才需要进行额外的转义 ("\\\\"; "\x5C" = "\\" 不起作用),而 \\ 通常不会产生您想要的结果 (匹配数字:"\\d" = "\d")。所有其他转义规则都与 pcre 的行为兼容。

第二种方式是在字符串前加上一个 e,像这样:e"text"。它与普通字符串有相同的规则,但不允许未知的转义序列(即上面提到的最后一条规则)。要用 pcre 匹配数字,您必须写成 e"\\d" 而不是 "\d"