这是一场非贪婪的比赛.在[AB]*?,正则表达式寻找[AB]使得整体正则表达式匹配搜索字符串所需的少数事件,而贪婪版本[AB]*查找尽可能多的事件.它是Perl正则表达式的一个特性,因此可以在PCRE(Perl兼容正则表达式)(参见重复)和其他系统中查找Perl的定义.
PCRE页面给出了一个例子:
[贪婪]给出问题的典型例子是尝试匹配C程序中的注释.这些出现在评论之间
/*和*/之内,可能会出现个别*和/字符.尝试通过应用模式匹配C注释:Run Code Online (Sandbox Code Playgroud)/\*.*\*/到字符串
Run Code Online (Sandbox Code Playgroud)/* first comment */ not comment /* second comment */失败,因为它与整个字符串匹配,因为
.*项目的贪婪.如果量词后跟一个问号,它就不再是贪婪的,而是匹配可能的最小次数,所以模式
Run Code Online (Sandbox Code Playgroud)/\*.*?\*/用C评论做正确的事情.