Quantificateurs d'expression : Comportement Avide, Réticent et Possessif

Les quantificateurs sont avides par défaut. Avide signifie que l'expression accepte le plus grand nombre possible de jetons tout en autorisant une mise en correspondance valide. Vous pouvez outrepasser ce comportement en attachant un « ? » pour la mise en correspondance réticente ou un « + » pour la mise en correspondance possessive.

Réticent signifie que l'expression accepte le moins de jetons possibles tout en autorisant une mise en correspondance valide.

Possessif signifie que l'expression accepte le plus grand nombre de jetons possibles, même si cela empêche une mise en correspondance.

  • Exemple One or More Quantifier

    Avide

    1. Le comportement Avide dans <Field1> accepte le nombre maximum de jetons correspondant à la règle tout en renonçant à des jetons uniquement lorsque cela devient nécessaire pour mettre en correspondance les règles restantes.
    2. <Field2> ne peut accepter que le nombre minimum de jetons que <Field1> est obligé d'abandonner.
    3. <Field3> ne peut accepter qu'un seul jeton que <Field1> est obligé d'abandonner.

    Réticent

    1. Le comportement Réticent dans <Field1> accepte le nombre minimum de jetons correspondant à la règle tout en renonçant à des jetons uniquement lorsque cela devient nécessaire pour mettre en correspondance les règles restantes.
    2. <Field2> étant avide, il accepte le nombre maximum de jetons ignorés par <Field1> tout en ignorant des jetons uniquement lorsque cela devient nécessaire pour mettre en correspondance les règles restantes.
    3. <Field3> ne peut accepter qu'un seul jeton que <Field2> est obligé d'abandonner.

    Possessif

    1. Le comportement Possessif dans <Field1> accepte le nombre maximum de jetons correspondant à la règle sans jamais renoncer aux jetons pour mettre en correspondance les règles restantes.
    2. <Field1> étant possessif, il n'y a pas de jetons disponibles pour <Field2>. 3. <Field1> étant possessif, il n'y a pas de jetons disponibles pour <Field3>.
    3. L'entrée n'est pas analysée.

    Exemple Zero or More Quantifier

    Avide

    1. Le comportement Avide dans <Field1> n'accepte aucun jeton ou le nombre maximum de jetons correspondant à la règle tout en renonçant à des jetons uniquement lorsque cela devient nécessaire pour mettre en correspondance les règles restantes.
    2. <Field1> étant avare, <Field2> n'accepte que le nombre minimum de jetons que <Field1> est obligé d'abandonner. Le minimum pour <Field2> étant zéro, aucun jeton ne correspond à cette règle.
    3. <Field1> étant avide, <Field3> n'accepte qu'un seul jeton que la règle <Field1> est obligée d'abandonner.

    Réticent

    1. Le comportement Avide dans <Field1> n'accepte aucun jeton ou le nombre minimum de jetons correspondant à la règle tout en renonçant à des jetons uniquement lorsque cela devient nécessaire pour mettre en correspondance les règles restantes.
    2. <Field2> étant avide, il accepte le nombre maximum de jetons ignorés par <Field1> tout en ignorant des jetons uniquement lorsque cela devient nécessaire pour mettre en correspondance les règles restantes.
    3. <Field3> ne peut accepter qu'un seul jeton que <Field2> est obligé d'abandonner.

    Possessif

    1. 1. Le comportement Possessif dans <Field1> n'accepte aucun jeton ou le nombre maximum de jetons correspondant à la règle, sans jamais renoncer aux jetons pour mettre en correspondance les règles restantes.
    2. <Field1> étant possessif, il n'y a pas de jetons disponibles pour <Field2>.
    3. <Field1> étant possessif, il n'y a pas de jetons disponibles pour <Field3>. L'entrée n'est pas analysée.

    Exemple Zero or One Quantifier

    Avide

    1. Le comportement Avide dans <Field1> n'accepte aucun jeton ou le nombre maximum de jetons correspondant à la règle tout en renonçant à des jetons uniquement lorsque cela devient nécessaire pour mettre en correspondance les règles restantes.
    2. <Field2> ne peut accepter que le nombre minimum de jetons que <Field1> est obligé d'abandonner.
    3. <Field3> ne peut accepter qu'un seul jeton que <Field1> est obligé d'abandonner.

    Réticent

    1. Le comportement Réticent dans <Field1> accepte le nombre minimum de jetons correspondant à la règle tout en renonçant à des jetons uniquement lorsque cela devient nécessaire pour mettre en correspondance les règles restantes.
    2. <Field2> étant avide, il accepte le nombre maximum de jetons ignorés par <Field1> tout en ignorant des jetons uniquement lorsque cela devient nécessaire pour mettre en correspondance les règles restantes.
    3. <Field3> ne peut accepter qu'un seul jeton que <Field2> est obligé d'abandonner.

    Possessif

    1. Le comportement Possessif dans <Field1> n'accepte aucun jeton ou le nombre maximum de jetons correspondant à la règle, sans jamais renoncer aux jetons pour mettre en correspondance les règles restantes.
    2. <Field1> étant possessif, il n'y a qu'un seul jeton disponible pour <Field2>.
    3. <Field1> étant possessif, il n'y a pas de jetons disponibles pour <Field3>. L'entrée n'est pas analysée.

  • Exemple de quantificateur Min/Max

    Avide

    1. Le comportement Avide dans la règle de <Field1> accepte le nombre maximum de jetons correspondant à la règle, tout en renonçant à des jetons uniquement lorsque cela devient nécessaire pour mettre en correspondance les règles restantes.
    2. <Field2> ne peut accepter que le nombre minimum de jetons que <Field1> est obligé d'abandonner.
    3. <Field3> ne peut accepter qu'un seul jeton que <Field1> est obligé d'abandonner.

    Réticent

    1. Le comportement Réticent dans <Field1> accepte le nombre minimum de jetons correspondant à la règle tout en renonçant à des jetons uniquement lorsque cela devient nécessaire pour mettre en correspondance les règles restantes.
    2. <Field2> étant avide, il accepte le nombre maximum de jetons ignorés par <Field1> tout en ignorant des jetons uniquement lorsque cela devient nécessaire pour mettre en correspondance les règles restantes.
    3. <Field3> ne peut accepter qu'un seul jeton que <Field2> est obligé d'abandonner.

    Possessif

    1. Le comportement Possessif dans <Field1> accepte le nombre maximum de jetons correspondant à la règle sans jamais renoncer aux jetons pour mettre en correspondance les règles restantes.
    2. <Field1> étant possessif, il y a deux jetons disponibles pour <Field2>.
    3. <Field3> ne peut accepter qu'un seul jeton que <Field2> est obligé d'abandonner.