我希望将字符串(不安全的外部行,如exim_mainlog行)拆分为空格,而不是由双引号中的空格分隔,如果引号是由反斜杠(如\" )转义的,则忽略它;如果反斜杠只是像\\那样转义,则忽略反斜杠。不需要缓慢地使用FSM手动解析字符串。
示例行:
U=mailnull T="test \"quote\" and wild blackslash\\" P=esmtps
应该拆分为:
["U=mailnull", "T=\"test \\\"quote\\\" and wild blackslash\\\"", "P=esmtps"]
(顺便说一句,我认为红宝石应该有办法解决这种分裂.叹息)。
发布于 2012-10-24 00:28:05
我想我找到了足够简单的解决方案:input.scan(/(?:"(?:\\.|[^"])*"|[^" ])+/)
https://stackoverflow.com/questions/13040585
复制相似问题