要求是
输入数据:前边为0--9中任意数字,最少一位,最大不限
中间可有或无“-”符号
后边数据以0---9中的任意数字结尾,最少一位,最大不限我的Regex 为:^[0-9]*-?[0-9]*$但是-符号在前边或结尾都无法判断,请熟悉正则的大侠们帮助!
谢谢!谢谢!

解决方案 »

  1.   

    string S = "123-1231-123-213";
    Text = Regex.Match(S, @"^(\d+\-?\d+)+$").Success.ToString();
      

  2.   

    楼主你的这个表达式测试结果如下
    ^[^-][0-9]*(-)?[0-9][^-]*$a123=true
    a123a=true
    1-2-3=false
      

  3.   

    以下情况是否合法
    1、  231--321
    2、  132-321-321如果都合法,用这个
    ^\d+(-*\d+)*$如果1不合法,而2合法,用这个
    ^\d+(-\d+)*$如果只有以下形式合法
    1323
    231-123
    用这个
    ^\d+-?\d+$
      

  4.   

    谢谢大家的指导!我第一次写正则
    准确的要求是为:123-321合法
    谢谢ZSWang的测试,由于时间比较急,就没细测!谢谢!