【发布时间】:2011-05-15 18:02:14
【问题描述】:
我正在尝试创建一个正则表达式来匹配 CSV 记录文件,格式为:
optional value, , ,, again some value; this is already, next record;
现在有一个逗号 (10) 的上限分隔每条记录的属性,并且有无限数量的 ; 分隔每条记录。值可能存在也可能不存在。我对正则表达式没有经验,到目前为止我的努力是徒劳的。请帮忙。如有必要,我将提供更多详细信息。
编辑
我想验证文件是否符合要求的格式并获取其中的记录数。
【问题讨论】:
-
你希望结果是什么?
-
如果你有大量记录,我建议不要使用 Regex,因为它的性能与手动智能解析相比相形见绌,除非你只是对学习 Regex 感兴趣。
-
文件是否包含转义的逗号或分号,例如
a,b,"c1,;;c2",d;?如果没有,您可以为每条记录按;拆分,然后按,拆分(或简单地计算分号)。 -
@BeemerGuy:谢谢你的建议。我正在使用它(与 Kobi 提出的相同),但老板想看一个正则表达式。我也很感兴趣。应该永远不会超过 500 条记录。