提问者:小点点

使用regex lookar对(Java版本)使用非捕获组从csv中提取列


试图解决一个简单的问题,但努力理解如何正确匹配模式。

我试过(?

我的测试字符串是:"AAA","BBB","CCC","DDD","EE""E","FFF","GGGGG","HHHHHHHHHHHHHHHHH"

我有一个非标准引用的csv文件,其中每列的双引号中可以有双引号。

所以我需要使用正则表达式使用非捕获组和环顾提取每一列,因为我不能使用捕获/匹配组

所以我需要一堆不同的表达式,只捕获以下结果:

"AAA"

"BBB"

"CCC"

"DDD"

"EE"E"

“FFF”

等。

csv可能包含50列左右,上面只是一个代表性的例子


共1个答案

匿名用户

根据您所说的,所有字段都是双引号。似乎您应该匹配引用的字符串,而不是关注逗号(字段中间可能会出现逗号)。

最简单的方法是找到所有"([^"]*|"")*",然后在后处理步骤中清除双引号。