正则表达式
lighttpd2 使用 GLib 的“Perl 兼容正则表达式”实现,请参阅其正则表达式语法文档。
配置格式有不同的方式提供字符串(你可以使用 ' 或 " 进行引用;如果引用字符在字符串内部使用,则必须用 \ 进行转义)。
简单的(标准)方式 "text" 具有以下转义规则
-
"\n"是换行符,"\r"是回车符,"\t"是制表符 -
"\\"是一个\,"\""是一个双引号","\'"是一个单引号' - 如果单引号/双引号符号未用于终止字符串,则转义是可选的,即
'\"'='"'且"\'"="'" -
"\xNN": NN 必须是十六进制字符,字符串将被替换为解码后的 8 位单字节值 - 所有其他
\出现次数都**不会**从字符串中移除。
这种方式是正则表达式的首选方式;只有当您要实际匹配 \ 时,才需要进行额外的转义 ("\\\\"; "\x5C" = "\\" 不起作用),而 \\ 通常不会产生您想要的结果 (匹配数字:"\\d" = "\d")。所有其他转义规则都与 pcre 的行为兼容。
第二种方式是在字符串前加上一个 e,像这样:e"text"。它与普通字符串有相同的规则,但不允许未知的转义序列(即上面提到的最后一条规则)。要用 pcre 匹配数字,您必须写成 e"\\d" 而不是 "\d"。