我和一位同事最近就纯正则表达式是否能够完全封装csv格式进行了争论,以便它能够使用任何给定的转义字符,引号字符和分隔符char解析所有文件。 正则表达式不必在创建后就可以更改这些字符,但在任何其他情况下都不能失败。 我认为,这对于令牌生成器来说是不可能的。唯一能够做到这一点的正则表达式是一种非常复杂的PCRE样式,它不仅限于标记化。 我正在寻找以下方面的东西: ... csv格式是上下文无关的语法,因此,不可能仅使用正则表达式进行解析... 还是我错了?是否可以仅使用POSIX正则表达式来解析csv? 例如,如果转义字符和引号字符均为",则这两行都是有效的csv: """this is a test.""","" "and he said,""What will be, will be."", to which I replied, ""Surely not!""","moving on to the next field here..."