我有一个包含以下内容的日志文件:
Log Started
Created Date: YY/MM/DD Time: HH:MM:SS Start
Added resources at module on YY/MM/DD HH:MM
Module 2 excecute
Resource depleted at HH:MM n pieces
Open YY/MM/DD HH:MM:SS Log to refer
Target end date of new resource YY/MM/DD approved
Log Ended. Result OK
图例:
注意:
我目前有以下正则表达式,但它只能捕获每行的日期和时间戳:
(\d{2}(\d{2})?\/\d{2}\/\d{2}(\d{2})?)|(\d{2}:\d{2}(:\d{2})?)
但是,我需要能够捕获整行,并将每个重要且不重要的数据部分放在一个组中。
答案 0 :(得分:1)
我不确定如何在C#中执行此操作(因为我之前从未使用过它),但这里是我要使用的正则表达式:
基本上只匹配所有内容,直到找到新的行\n
。
将日志文件复制到新的临时变量中并删除所有时间戳并split the resulting string by the newline chars \n
DEMO
(\d{2}(\d{2})?\/\d{2}\/\d{2}(\d{2})?)|(\d{2}:\d{2}(:\d{2})?)
你的正则表达式非常好并且像魅力一样工作:)
答案 1 :(得分:1)
首先,您必须使用(.*)\n
对每一行进行分组。然后,您必须使用分组字符串中的正则表达式替换日期格式。
点击这里。 https://msdn.microsoft.com/en-us/library/e7f5w83z(v=vs.110).aspx