黑马程序员技术交流社区

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

作者: 刘明杰    时间: 2013-2-4 17:13
标题: 正则表达式
从文件路径中提取出文件名(包含后缀)。比如从c:\windows\testb.txt中提取出testb.txt这个文件名出来

这个用正则表达式怎么写,不使用Path.GetFileName
作者: 戴鑫凯    时间: 2013-2-4 19:54
小弟不才,只知道一个不严谨的,   .+\\(.+)   圆括弧中的就是,高手勿喷啊...不严谨啊不严谨
作者: 王立    时间: 2013-2-5 20:12
本帖最后由 王立 于 2013-2-5 20:14 编辑

    //  [^\\]  表示匹配的里面没有\  ,如果用.的话就匹配出来 windows\testb.txt
            string str=@"c:\windows\testb.txt";
            string value = "";
            Match mc = Regex.Match(str, @"\\([^\\]+)$", RegexOptions.IgnoreCase);
            //Match mc = Regex.Match(str, @"\\(.+)$", RegexOptions.IgnoreCase);
            if (mc.Success)
            {
                value = mc.Groups[1].Value.ToString();
            }

            MessageBox.Show(value);

作者: 李东城    时间: 2013-2-8 12:22
既然包含后缀,必然含有  .  这个字符,而且匹配的里面不能有\号
那就可以这样写

pattern = @"\\([^\\]+)$"




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