贪婪匹配与懒惰匹配

简单来说,在限定符后加上?,则为懒惰模式;在限定符后面不加?,则是贪婪模式。 常用的限定符如下:

当正则表达式中包含能接受重复的限定符,通常的行为是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符。以这个表达式为例:a.*b,它将会匹配最长的以a开始,以b结束的字符串。如果用它来搜索aabab的话,它会匹配整个字符串aabab。这就是贪婪匹配。

如果用a.*?b那匹配,将会得到最短的匹配项,结果是aab。