首页 > 解决方案 > 正则表达式不采用 JavaScript 中的最后一个结果

问题描述

我有一个日志列表,我需要将它们一一分开。我试图想出一个正则表达式:

/(?:\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2},\d{3})[\s\S]+?(?=\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2},\d{3})/gm

正确地将一个日志与另一个分开,但它不需要最后一个日志......(我知道在这个表达式中我正在寻找一个以特定格式的时间戳开头并在下一个时间戳之前结束的字符串 - >这就是为什么最后一个日志没有被识别)但我不知道如何添加那个条件......我试过这样:

/(?:\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2},\d{3})[\s\S]+?((?=\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2},\d{3})|\Z)/gm

它适用于 PHP,但不适用于 Javascript....(我需要在 javascript 应用程序中使用它...... T_T)

我已经尝试了我能想到的任何其他方式,但仍然没有运气......

这是我试图处理的一组日志:

2019-05-07 10:51:01,566 [6] INFO App1 - Process File Upload started!
2019-05-07 10:51:12,856 [6] ERROR App1 - Error at UploadDailyAt 
Error details:
   at Something...
2019-05-07 10:51:12,856 [6] INFO App1 - Wait Time for export file in Minutes: 5

标签: javascriptregextypescript

解决方案


推荐阅读