我用制表符分隔线
13723181 2018-04-26 14:57:35 NULL 2 5 put quotes around,this.text 1 2018-04-26 14:57:35 NULL 921011 1499
使用“ \ t”作为制表符,只是为了阐明实际制表符的位置
13723181 \t 2018-04-26 14:57:35 \t NULL \t 2 \t 5 \t put quotes around,this.text \t 1 \t 2018-04-26 14:57:35 \t NULL \t 921011 \t 1499
我希望能够将此行重写为“适当的” csv行,如下所示:
13723181,2018-04-26 14:57:35,NULL,2,5,"put quotes around,this.text",1,2018-04-26 14:57:35,NULL,921011,1499
我想这可以分两个步骤完成:
第2步很容易.. 我在第1步上苦苦挣扎,如何找到包含逗号的子字符串,该子字符串被制表符包围,但不包含制表符本身。.我感觉我与
非常接近(?<=\t)(.*,.*?)(?=\t)
但这与2018-04-26 14:57:35 NULL 2 5 put quotes around,this.text
相匹配
而不是put quotes around,this.text
我不想使用...
答案 0 :(得分:0)
有时您在发布问题后的1分钟内弄清答案:)
(?<=\t)([^\t]+,[^\t]+)(?=\t)
完全按照我的需要工作。