日期:2014-05-17  浏览次数:20431 次

正则高手请进,获取文件路径规则 谢谢
请高手帮我研究一下下面的正则规则 谢谢========================================================================
 string text = @"E:\Music\...\我的音乐\卓依婷 - 我的眼泪不为你说谎.mp3";
 //下面这个是正则是错的
 string pattern = @"(?<Artist>\S+) - (?<Title>\S+)";
 Match match = Regex.Match(text, pattern);
 var Artist=  match.Groups["Artist"].Value;
 var Title = match.Groups["Title"].Value;
 //结果要求 Artist="卓依婷";Title="我的眼泪不为你说谎";
 ========================================================================
 string text = @"E:\Music\...\我的音乐\卓依婷\我的眼泪不为你说谎.mp3";
 //下面这个是正则是错的
 string pattern = @"(?<Artist>\S+) - (?<Title>\S+)";
 Match match = Regex.Match(text, pattern);
 var Artist=  match.Groups["Artist"].Value;
 var Title = match.Groups["Title"].Value;
 //结果要求 Artist="卓依婷";Title="我的眼泪不为你说谎";
 ========================================================================
 string text = @"E:\Music\...\卓依婷\卓依婷 2006\我的眼泪不为你说谎.mp3";
 //下面这个是正则是错的
 string pattern = @"(?<Artist>\S+) - (?<Title>\S+)";
 Match match = Regex.Match(text, pattern);
 var Artist=  match.Groups["Artist"].Value;
 var Title = match.Groups["Title"].Value;
 var Album = match.Groups["Album"].Value;
 //结果要求 Artist="卓依婷";Title="我的眼泪不为你说谎" Album="卓依婷 2006";
 ========================================================================
 string text = @"E:\Music\...\Pop\卓依婷\卓依婷2006\我的眼泪不为你说谎.mp3";
 //下面这个是正则是错的
 string pattern = @"(?<Artist>\S+) - (?<Title>\S+)";
 Match match = Regex.Match(text, pattern);
 var Artist=  match.Groups["Artist"].Value;
 var Title = match.Groups["Title"].Value;
 var Album = match.Groups["Album"].Value;
 var Genre = match.Groups["Genre"].Value;
 //结果要求 Artist="卓依婷";Title="我的眼泪不为你说谎";Album="卓依婷2006";Genre="Pop";

------解决方案--------------------