文字列(exim_mainlog行などの安全でない外部行)をスペースで分割したいが、二重引用符の内側にあるスペースでは分割せず、引用符がのようなバックスラッシュでエスケープされている場合は無視し、エスケープされた\"
ばかりの場合はバックスラッシュを無視しますのように\\
。FSMを使用して文字列を手動でゆっくりと解析することなく。
行の例:
U=mailnull T="test \"quote\" and wild blackslash\\" P=esmtps
に分割する必要があります:
["U=mailnull", "T=\"test \\\"quote\\\" and wild blackslash\\\"", "P=esmtps"]
(ところで、私はルビーがそのような分割のための方法を持っていたはずだと思います..、ため息)。