求一 C#正则表达式,验证字符串格式是否正确

如题, 字符串是“281684|654590|11270694|20170712 08:00”6位数字|6位数字|8位数字|8位数字+空格+5位时间(数字加冒号的)

求c#的匹配这种格式的正则表达式

还有一个这样的 “281684|654590”

第一种字符串是“281684|654590|11270694|20170712 08:00”,参考楼上,但时间需要注意,25:00、23:79 这样的是都不能接受的,所以修改后为:

 ^\d{6}\|\d{6}(\|\d{8}\|\d{8} ([0-1][0-9]|2[0-4]):([0-5][0-9]))?$

第二种就是:

 ^\d{6}\|\d{6}$
 6位数字,8位数字+,8位数字+空格+5位时间
这种混合?还是就是你这2种格式而已?
混合用这个
^(\d{6}|\d{8}|\d{8} \d{2}:\d{2})(\|(\d{6}|\d{8}|\d{8} \d{2}:\d{2}))*$

就那2种格式用这个
^\d{6}\|\d{6}(\|\d{8}\|\d{8} \d{2}:\d{2})?$

另外,有网站提供在线测试的工具,例如:http://tool.oschina.net/regex/,
你可以通过工具去编写和测试,但需要注意的是,在线测试通过了,放到你的C#程序可能还有问题,
比如反斜杠的处理,在C#中可能需要这样写:

 ^\\\\d{6}\\\\|\\\\d{6}$

^\d{6}|\d{6}(|\d{8}|\d{8} ([0-1][0-9]|2[0-4]):([0-5][0-9]))?$