Eu estou lendo o documento PCRE, e ele se refere a quantificadores possessivos , mas não explicitamente ou especificamente os define. Eu sei o que é um quantificador ganancioso e sei o que é um quantifer preguiçoso. Mas possessivo?
A man page do PCRE parece estar trapaceando quando usa o termo sem defini-lo. A página man afirma especificamente que o termo quantificador possessivo foi definido pela primeira vez no livro de Friedl . Bem, isso é ótimo, mas eu não tenho o livro de Friedl, e ao ler a man page, nas entrelinhas, não consigo descobrir o que distingue quantificadores possessivos de quantificadores gananciosos.
Talvez o melhor lugar para começar seja o Regex Tutorial – Quantificadores Possessivos :
Ao discutir os operadores de repetição ou quantificadores, expliquei a diferença entre a repetição gananciosa e a preguiçosa. A ganância e a preguiça determinam a ordem em que o motor regex tenta as possíveis permutações do padrão regex. Um quantificador guloso tentará primeiro repetir o token tantas vezes quanto possível e gradualmente abandonará as correspondências enquanto o mecanismo recua para encontrar uma correspondência geral. Um quantificador preguiçoso primeiro repetirá o token quantas vezes forem necessárias e expandirá gradualmente a correspondência à medida que o mecanismo retrocede pela regex para encontrar uma correspondência geral.
Os quantificadores possessivos são uma maneira de evitar que o mecanismo de regex tente todas as permutações. Isso é útil principalmente por motivos de desempenho. Você também pode usar quantificadores possessivos para eliminar determinadas correspondências.