我正在尝试找出一个正则表达式模式来拆分下面的字符串:
2022-09- 22 T03:55:59.433Z,,,,sm 100,”sm100.w.gm.net =25 2.7.2 mailto:012323@eu-w1.as.com [IId=200023,主机名= mky.wgm.net]排队信息”,,SMTP,HAREDIRECT
转换为以下值:
2022-09-22T03:55:59.433Z,
,
,
,
sm100,
"sm100.w.gm.net=25 2.7.2 <mailto:012323@eu-w1.as.com> \[IId=200023, Hostname=mky.wgm.net\] Queued info",
,
SMTP,
HAREDIRECT
我不希望正则表达式用逗号分割第6行(最长的一行)中的值,因为即使IId=200023后面有逗号,整个字符串也应该被认为是原子的,因为它是用双引号括起来的。
我已经在regex101中尝试了很多模式,这个模式是我目前所得到的:
,(?![" ])
型
它似乎已经正确地识别了逗号,但是我找不到一种方法来改变我的正则表达式模式以找到这些组。
1条答案
按热度按时间kt06eoxx1#
parse_csv()
| 文本|
| - ------|
| [“2022-09- 22 T03:55:59.4330000Z”,",",",",“sm 100”,”sm100.w.gm.net =25 2.7.2 mailto:012323@eu-w1.as.com [IId=200023,主机名= mky.wgm.net]排队信息”,",“SMTP”,“HAREDIRECT”]|
Fiddle