我想通过空格来分割字符串(不安全的外语行,如exim_mainlog行),但不要按照双引号内的空格分割,并忽略用反斜杠转义的引号(例如
示例行:
\"
),并且如果只是转义了反斜杠(例如\\
),则忽略该反斜杠。不需要手动用FSM慢速解析字符串。示例行:
U=mailnull T="test \"quote\" and wild blackslash\\" P=esmtps
应该分成:
["U=mailnull", "T=\"test \\\"quote\\\" and wild blackslash\\\"", "P=esmtps"]
(顺便说一下,我认为Ruby应该有这样的分割方法……唉)。
[^" ]
) 的连续性 (最新的+
),或者如果引号开始 ("(
),它将匹配直到关闭引号 ()*"
) 任何 (*
) 转义字符 (\\.
) 或非引号字符 ([^"]
)。 - catpnosis