我想验证CSV文件。
条件是有9列,用逗号分隔,如下所示:
something1,some[thi]ng2,some/thing3,so"meth"ing4,somet'hi'ng:5,something6,something7,something 8,something9
什么是检查每行中是否有9列的最佳方法,如下所示:
,,,,,,,,
但结构应该没问题。
答案 0 :(得分:1)
这是一个匹配输入字符串和空字符串的正则表达式:
[^,]*(?:,[^,]*){8}
仅当您逐行测试输入时才有效。请参阅下面的整个文件解决方案。
[^,]*
匹配除逗号0之外的任何字符或多次。(?:,[^,]*){8}
匹配逗号后跟任何字符,但逗号为0或多次,且为8次如果您测试整个文件(多行),您可能希望通过在使用时指定Pattern.MULTILINE
来使用此表达式:
^[^,\r\n]*(?:,[^,\r\n]*){8}$