黑马程序员技术交流社区

标题: 正则表达式的Match问题 [打印本页]

作者: --_—    时间: 2014-7-24 09:44
标题: 正则表达式的Match问题
本帖最后由 --_— 于 2014-7-24 23:35 编辑

看教学视频时,看到:Match.Captures[]是怎么取的?取第0个?什么第0个?求解。
作者: 许庭洲    时间: 2014-7-24 10:09
match.captures返回匹配的字符串组成的数组
作者: 麦田怪圈    时间: 2014-7-24 17:00
路过学习了!
作者: 向晓伟    时间: 2014-7-24 18:07
路过,帮顶!
作者: mouxingyu    时间: 2014-7-24 20:02
string str = "abcdefgwh wac";
            //一个集合收集处理后的字符串
            List<string> LStr = new List<string>();
            //收集得到的字符串  便于观察
            MatchCollection mc= Regex.Matches(str,@"([^ ])+");
            //通过循环得到每个Match
            foreach (Match m in mc)
            {
                //在监视中得到m.Captures得到的CaptureCollection的Count为1
                //也就是说Match里面只有一个Captrue。
                foreach (Capture a in m.Captures)
                {
                    //通过输出可以看到这个Capture就是得到的所匹配的字符串
                    //和m.Group[0].Captures一样。
                    LStr.Add(a.Value);
                }
                foreach (Group g in m.Groups)
                {
                    foreach (Capture c in g.Captures)
                    {
                        //观察每个组内的Capture可以知道
                        //Group[0]的Capture和Match.Captures[0]是一样的
                        //以后的每个Group里面的值都对应每个组(从左到右的括号)里面的值一样
                        //Match.Groups[0].Value与Match.Groups[0].Captrue.ToString()值是一样的
                        //只不过Match.Groups[0].Captrue返回的Captrue类型里面还有长度、位置等属性
                        LStr.Add(c.Value);
                    }
                }
            }
            Console.ReadKey();
我也不知道对不对你调试看看。
基础加强视频里面,老师说的很详细吧,你可以回过头去看一看。
有错的地方 希望你能帮我指出。

作者: --_—    时间: 2014-7-24 23:34
mouxingyu 发表于 2014-7-24 20:02
string str = "abcdefgwh wac";
            //一个集合收集处理后的字符串
            List LStr = new L ...

灰常感谢。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2