正则表达式:
如何匹配QQ号码加英文逗号“,”
如 82366453,我是这样写的 [1-9][0-9]{4,},$ 但是只能验证一个QQ号码. 我想要的效果是 连续输入几个QQ号码也能通过验证 如 82366453,327610592,516791205,

解决方案 »

  1.   

    思路有问题正则表达式只能够固定其格式就匹配而言你可以分割字符串为数组,然后对数组里面每一项进行匹配看了下你的表达式,是1-9其中一个数字开头,然后至少有4位,合起来就是至少5位的QQ号,第一位不能为零目前QQ号发展到字符串了,不再局限于数字,就你的问题而言        static void Main(string[] args)
            {
                Console.WriteLine("输入QQ号进行匹配(至少5位数字,开头不能为0)");            string strList = Console.ReadLine();            string strLastChar = strList.Substring(strList.Trim().Length - 1);
                if (strLastChar != ",")
                {
                    strList = strList + ",";
                }            Match mList = Regex.Match(strList, @"([1-9]\d{4,},){1,}");
                if (mList.Success)
                {
                    Console.WriteLine("符合规则\nQQ号码为:\n\n");                string[] qqItems = strList.Split(",".ToCharArray());                foreach (string qqItem in qqItems)
                    {
                        Console.WriteLine(qqItem);
                    }
                }
                else
                {
                    Console.WriteLine("不符合规则");
                }
                Console.ReadKey();
            }
      

  2.   

    这个问题很复杂么??^\d{5,}(\,\d{5,})+$ 这个不就OK了么?因为QQ是大于5位的
      

  3.   

    Sorry.上面的只能匹配大于一个的情况,一个到多个的话应该是:^\d{5,}(\,\d{5,})*$ 
      

  4.   

    最后一个字符可以是","的情况:
    ([1-9]\d{4,},)*
    最后一个字符不能是","的情况:
    ([1-9]\d{4,},)*[1-9]\d{4,}