C#正则表达式之贪婪与非贪婪浅析(转)

    C#正则表达式之贪婪与非贪婪是什么呢?我们在学习这方面的时候主要明白什么呢?让我们开始吧:

    正则表达式的引擎是贪婪,只要模式允许,它将匹配尽可能多的字符。通过在“重复描述字符”(*,+)后面添加“?”,可以将匹配模式改成非贪婪。

    请看以下关于C#正则表达式之贪婪与非贪婪示例:

    string x = "Live for nothing,die for something";  
     
     
    Regex r1 = new Regex(@".*thing");  
     
     
    if (r1.IsMatch(x))  
     
    {  
     
        Console.WriteLine("match:" + r1.Match(x).Value);  
     
    //输出:Live for nothing,die for something  
     
    }  
     
    Regex r2 = new Regex(@".*?thing");  
     
     
    if (r2.IsMatch(x))  
     
    {  
     
        Console.WriteLine("match:" + r2.Match(x).Value);  
     
    //输出:Live for nothing  
     
    }
    

    C#正则表达式之贪婪与非贪婪使用的基本内容就向你介绍到这里,希望对你了解和学习C#正则表达式有所帮助。

posted on 2011-05-05 18:27  Daywei  阅读(2553)  评论(0)    收藏  举报

导航

技术追求卓越 梦想创造未来