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

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

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

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

4个回答

第一种字符串是“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}$
sinat_29365483
英俊小先生 回复微wx笑: 不过没关系,我照着写就行了,谢谢啦
大约 3 年之前 回复
sinat_29365483
英俊小先生 回复英俊小先生: 笑哭,时间那里的格式我少了dd 应该是: 6位数字|6位数字|8位数字|yyyyMMdd+空格+hh:mm
大约 3 年之前 回复
sinat_29365483
英俊小先生 回复微wx笑: 笑哭,时间那里的格式我少了对的、
大约 3 年之前 回复
testcs_dn
微wx笑 回复英俊小先生: ^\d{6}\|\d{6}\|\d{8}\|([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))) ([0-1][0-9]|2[0-4]):([0-5][0-9])$
大约 3 年之前 回复
sinat_29365483
英俊小先生 6位数字|6位数字|8位数字|yyyyMM+空格+hh:mm 中的月份MM要做限定,应该是怎样的啊 谢谢啦
大约 3 年之前 回复
 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})?$
sinat_29365483
英俊小先生 谢谢大牛,格式是这样的,第一种是 6位数字|6位数字|8位数字|yyyyMM+空格+hh:mm 。第二种比较简单,是这样的 6位数字|6位数字
大约 3 年之前 回复

另外,有网站提供在线测试的工具,例如: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]))?$

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问