这是我的笔记,希望对你有帮助:
正则表达式中,还有贪婪模式和非贪婪模式
例如:
//从文件路径中提取文件名(包含后缀),@"^.+/(.+)$"
//实际开发的过程中,用的较多的是Path.GetFileName
string str=@"C:\Documents and Settings\V_John\桌面\a.txt";
string regex=@"(.+)\\(.+)\\(.+)";//往左向右尽可能的多的匹配
//string regex=@"(.+?)\\(.+)\\(.+)";//这样加一个问号是尽可能的少的匹配
MatchCollection mc=Regex.Matchs(str,regex);
foreach(Match m in mc)
{
Console.WriteLine(m.Groups[1]);
Console.WriteLine(m.Groups[2]);
Console.WriteLine(m.Groups[3]);
}
Console.ReadKey();
//在实际的开发中,一般情况下不考了贪婪和非贪婪,当遇到结果和自己的想法不一样的时候,就要考虑是否因为贪婪和非贪婪引起的,,在项目中,少用非贪婪,进程浪费,效率不高 |