如题:
Regex a=new Regex (@"^([1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])$");

解决方案 »

  1.   

    试试这个
    string regex=@"((2[0-4]\d)|(25[0-5])|(1\d{2})|([1-9]\d)|(\d))";
    regex="^"+regex+"."+regex+"."+regex+"."+regex+"$";
      

  2.   

    没有注意0的问题.改了如下:
    Regex a=new Regex (@"^(0|[1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.
    (0|[1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.
    (0|[1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.(
    0|[1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])$");
      

  3.   


    (((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))
      

  4.   

    楼上的,如果人家输入的是09.09.09.09你这个能判断吗?这种输入肯定不符合数字的规则呀.
    其实的可以改为:
    Regex a=new Regex (@"^((0|[1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}
    (0|[1-9][0-9]?|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$");
      

  5.   

    (((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))
    这个可以正常使用,楼上的输入正常值的情况都不行。