黑马程序员技术交流社区

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

作者: StartHeiMa    时间: 2014-7-18 20:55
标题: 正则表达式
”1+2-3×4÷5“怎么一次提取出数字和运算符号!
貌似这样不可以 String regInt = @"([0-9]+)(([\+\-×÷])([0-9]+))+";
作者: --_—    时间: 2014-7-22 08:01
提取数字直接用@“\d”就行啊;
提取运算符号可以试试@"\W".
作者: 麦田怪圈    时间: 2014-7-24 16:55
正则表达式好难!
作者: mouxingyu    时间: 2014-7-24 19:11
            string str = "1+2-3×4÷5";
            //一个集合收集处理后的字符串
            List<string> LStr = new List<string>();
            //收集数字和字符的组和   匹配是数字和不是空白符的字符
            MatchCollection mc= Regex.Matches(str,@"(\d+)(\S)?");
            //通过循环得到每个Match
            foreach (Match m in mc)
            {
                //收集\d这个组内的内容
                LStr.Add(m.Groups[1].Value);
                //去除最后?所产生的""字符
                if (m.Groups[2].Value!="")
                {
                    //得到不为""的符号符号
                    LStr.Add(m.Groups[2].Value);
                }               
            }            
            Console.ReadKey();
这是我写的代码
不知道是否符合你的要求,不过得到了里面的数字和符号了
希望对你有帮助。




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