我有一个文件,其中包含以双引号开头和结尾的字符串。每个字符串都可以包含一个逗号。数字不能以双引号开头或结尾。每个整数和字符串都用逗号分隔。也可以有一个空值。
我想让组切换每个字符串和数字。我试着一次捕获一组。
我创建了这个正则表达式,它适用于所有情况,除非字符串中有逗号:
/(?:"?([^"]*)"?,){2}/U
如果我删除了unsreedy运算符,正则表达式适用于除null值之外的所有情况。
以下是日志文件的示例:
196778,"df,fdfsdf","4.4","ds-sdads231-33","mmh",1,,,,,,,023,1,"20150,62519535TY"
https://regex101.com/r/kO5wM4/3
您可以使用以下正则表达式:
(?:(?:"([^"]*)"|([^,]*))(?:,|$)){2}
RegEx演示