用正则匹配出[]([1][2]……)或者【】(【1】【2】……)里面是数字?我想用str.StartsWith("正则表达式匹配后的结果")请问能不能使用,怎样使用啊?

解决方案 »

  1.   

    if(Regex.IsMatch("【2】……",@"(?<=^\[\d+\])|(?<=^【\d+】)"))
    {
        //是这个开头的
    }
      

  2.   

    请问有什么好的参考资料学习ASP.NET C#不我新手希望高手推荐下谢了
      

  3.   

                string str = "用正则匹配出[]([1][2]……)或者【】(【1】【2】……)里面是数字";
                Regex reg = new Regex(@"(?i)(?<=[\[\【])\d+(?=[\]\】])");            MatchCollection mc = reg.Matches(str);            foreach (Match m in mc)
                {
                    Console.WriteLine(m.Groups[0].ToString());
                }
                /*
                1
                2
                1
                2            */
      

  4.   

    string str = "[1][2][3]";
                string myreg = "[^\\d]";
                string sss = Regex.Replace(str, myreg,"");
    我试过了
      

  5.   

    string str = "[1][2][3]";
                string myreg = "[^\\d]";
                string sss = Regex.Replace(str, myreg,"");
    LZ试试
      

  6.   

    (?<=\[)\d+(?=\])|(?<=【)\d+(?=】)
    我这个可以
      

  7.   

    当时不懂平衡组,现在会了,既然ls帮我翻出来说没捕获。我仔细看了楼主的问题,当时没仔细看。我看成想判断是否[2]或【12】开头的了。所以我给出的是匹配一个位置的。用正则的平衡组可以这样(?<=(?<o1>\[)|(?<o2>\【))\d+(?=(?(o1)\]|\】))