我从Exchange服务器获取此日志
2010-05-20T01:53:33.097Z,12.10.53.144,12.10.53.200,EXHUB-10,08CCC3F50C35F2D2; 2010-05-20T01:53:32.128Z; 0,EXHUB-10 \默认 EXHUB-10,SMTP,接收,829888,诺玛@ ccc.gov.my ,, 521647,1 ,,,“NEAC 工作分组会议 - 升级 劳动力和劳动力的技能 加强职业技术教育 培训 - 5月24日星期一下午2:30, 2010" ,lee.cheesung @ gmail.com,<>,00A:
我使用这个正则表达式来匹配和分组模式;
(\ d {4} - \ d {2} - \ d {2})(?:[\ W \ S] +)?(\ d +:\ d +:\ d + \ d +)(: \ W + \ d] *),(。*?),(。*?),(。*?),(。*?),(。*?),(。*?),(。*?) ,,,,,([ '“]。* ['”]。| *?)(*。?)(*。?)(*。?)(*。?),((*?)。 ???????*),(*),(*),(*),(*),(*),(:(\ d {4} - \ d {2} - \ d {2} \ W \ d {2}:\ d {2}:\ d {2} \ d +)(:?\ W +)*)*(*)
基本上,日志中的信息用逗号分隔。
不幸的是,对于“电子邮件主题”字段,如果用户输入逗号,则日志将以双引号显示,例如上面的示例 - 日期格式为逗号"Monday May 24, 2010"
..... 521647,1 ,,,“NEAC子工作 小组会议 - 升级技巧 劳动力与提升职业 和技术培训 - 周一下午2:30 5月24日, 2010" ,lee.keesung @ gmail.com,.....
如何在没有特定组(第19组)的双引号的情况下将整个主题与逗号一起抓取