string test = "34<0>dfsfd/<1>//<2>sdf///<3>////<4>/////<5>";
            Regex reg = new Regex(@"(?<=(?://)*)<[^>]*>");
            MatchCollection mc = reg.Matches(test);
            Console.WriteLine("个数:{0}", mc.Count);
            foreach (Match m in mc)
            {
                Console.WriteLine(m.Value);            }其实上面的正则表达式,我想实现的获取的是
<0>
<2>
<4>
但不知道怎么实现,就是前面为/时,不获取<数字>,前面为//的倍数时,才获取<数字>
谢谢!

解决方案 »

  1.   

    try...            string test = "34<0>dfsfd/<1>//<2>sdf///<3>////<4>/////<5>";
                Regex reg = new Regex(@"(?n)(?<=(^|[^/])(//)*)<[^>]*>");
                MatchCollection mc = reg.Matches(test);
                Console.WriteLine("个数:{0}", mc.Count);
                foreach (Match m in mc)
                {
                    Console.WriteLine(m.Value);
                }
                Console.ReadLine();