源文本如下:
string b = "ab c def gh";
List<String> c = Regex
.Matches(b, @"\s{2,}")
.OfType<Match>()
.Select(match => match.Value)
.ToList();
我想提取时间和日期值,所以我使用了这种模式:
Time: 8/26/2015 12:12:12 AM
但是因为有些时候源是这样的:
Time: (.+)
我必须添加模式,我的文字应该以AM或PM结尾,但是使用以下模式我没有得到我考虑的结果:
Time: 8/26/2015 13:13:13 Fired by event
请你帮我找到正确的模式吗?
注意:我不希望
Time: (.+) AM|PM$
这样的时间,我只想要 以AM或PM结尾的时间
答案 0 :(得分:4)
您可以使用以下内容:
Time: (\d+\/\d+\/\d+ \d+:\d+:\d+)
更新:对于以AM / PM结尾的时间,您最后必须添加(AM|PM)
组:
Time: (\d+\/\d+\/\d+ \d+:\d+:\d+) (AM|PM)
答案 1 :(得分:0)
试试这个
Time:\s+(.+)\s+(AM|PM)$
答案 2 :(得分:0)
你可以使用
Time:\s(.*?)\s(.*?)\s.*
第1组是日期 第2组是时间
但是,将字符串拆分为空白并采用第二和第三项
可能更容易