英俊小先生
2017-07-13 04:00
采纳率: 100%
浏览 1.9k

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

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

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 微wx笑 2017-07-13 04:46
    已采纳

    第一种字符串是“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})?$
    
    点赞 评论
  • 微wx笑 2017-07-13 04:51

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

     ^\\\\d{6}\\\\|\\\\d{6}$
    
    点赞 评论
  • hellokity888 2017-07-13 05:28

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

    点赞 评论

相关推荐 更多相似问题