我有一个包含很多这样的记录的文本文件:
05/11/04+11:10PM+117+04+0218735793+0'00+00:01'51+TR+
或者
05/11/04+11:10PM+117+04+0218735793+0'00+00:01'51+TR+
(没有传入)
我想验证这些行并使所有其他行无效(空行或注释行和损坏的行。
- 可以为此目的使用正则表达式吗?
- 如果是,正则表达式是什么?
谢谢。
我不会尝试对所有这些都使用正则表达式。例如,你有一个看起来像日期和时间的东西,还有几个其他字段可能是某种时间,这对于正则表达式来说是很棘手的。
我会处理这个
String.Split
在+
DateTime.TryParseExact
DateTime.TryParseExact
^\d\d\/\d\d\/\d\d\+\d\d:\d\d[AP]M\+[\d+':]+\+TR\+$
^^^^^^^^
我在标记部分“作弊”,因为我不确定什么保持不变,但从其余的表达中,我认为你应该明白这一点。
var regexPattern = @"^\d{2}/\d{2}/\d{2}\+\d{2}:\d{2}(?:AM|PM)\+\d{3}\+\d{2}" +
@"\+\d{10}\+\d'\d{2}\+\d{2}:\d{2}'\d{2}\+TR\+$"