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

时间:2024-03-08 17:55:34

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#正则表达式有所帮助。