sinat_29365483
英俊小先生
采纳率100%
2017-07-13 04:00

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

10

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

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • testcs_dn 微wx笑 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}$
    
    点赞 2 评论 复制链接分享
  • testcs_dn 微wx笑 4年前

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

     ^\\\\d{6}\\\\|\\\\d{6}$
    
    点赞 1 评论 复制链接分享
  • showbo GoCityPass新加坡曼谷通票 4年前
     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})?$
    
    点赞 1 评论 复制链接分享
  • hellokity888 hellokity888 4年前

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

    点赞 评论 复制链接分享

相关推荐