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