Cuantificadores de expresión: comportamiento expansivo, reacio y posesivo

De forma predeterminada, los cuantificadores son expansivos. Se dice que son expansivos porque la expresión acepta todas las muestras posibles, pero a la vez, permite un cruce exitoso. Es posible invalidar este comportamiento agregando '?' en los cruces reacios o '+' en los cruces posesivos.

Se los llama cruces reacios porque la expresión acepta la menor cantidad de muestras posibles, pero a la vez, permite un cruce exitoso.

En el caso de los cruces posesivos, la expresión acepta todas las muestras posibles aunque ello impida un cruce.

  • Ejemplo de cuantificador una o más ocurrencias

    Expansivo

    1. El comportamiento expansivo de <Field1> acepta la cantidad máxima de muestras que coinciden con la regla y abandona las muestras solo cuando es necesario para coincidir con las reglas restantes.
    2. <Field2> solo puede aceptar la cantidad mínima de muestras que <Field1> se ve obligado a abandonar.
    3. <Field3> solo puede aceptar una sola muestra que <Field1> se ve obligado a abandonar.

    Reacio

    1. El comportamiento reacio de <Field1> acepta la cantidad mínima de muestras que coinciden con la regla y abandona las muestras solo cuando es necesario para coincidir con las reglas restantes.
    2. Puesto que <Field2> es expansivo, acepta la cantidad máxima de muestras abandonadas por <Field1> y abandona muestras solo cuando es necesario para coincidir con las reglas restantes.
    3. <Field3> únicamente puede aceptar una sola muestra que <Field2> se ve obligado a abandonar.

    Posesivo

    1. El comportamiento posesivo de <Field1> acepta la cantidad máxima de muestras que coinciden con la regla y no abandona ninguna muestra para coincidir las reglas restantes.
    2. Puesto que <Field1> es posesivo, no hay muestras disponibles para <Field2>. 3. Puesto que <Field1> es posesivo, no hay muestras disponibles para <Field3>.
    3. La entrada no es analizada.

    Ejemplo de cuantificador cero o más ocurrencias

    Expansivo

    1. El comportamiento expansivo de <Field1> no acepta muestras o acepta la cantidad máxima de muestras que coinciden con la regla y abandona las muestras solo cuando es necesario para coincidir con las reglas restantes.
    2. Puesto que <Field1> es expansivo, <Field2> solo acepta la cantidad mínima de muestras que <Field1> se ve obligado a abandonar. Ya que el mínimo de <Field2> es cero, cero muestras coinciden con esta regla.
    3. Puesto que <Field1> es expansivo, <Field3> solo acepta una única muestra que la regla <Field1> se ve obligada a abandonar.

    Reacio

    1. El comportamiento reacio de <Field1> no acepta muestras o acepta la cantidad mínima de muestras que coinciden con la regla y abandona las muestras solo cuando es necesario para coincidir con las reglas restantes.
    2. Puesto que <Field2> es expansivo, acepta la cantidad máxima de muestras abandonadas por <Field1> y abandona muestras solo cuando es necesario para coincidir con las reglas restantes.
    3. <Field3> únicamente puede aceptar una sola muestra que <Field2> se ve obligado a abandonar.

    Posesivo

    1. 1. El comportamiento posesivo de <Field1> no acepta muestras o acepta la cantidad máxima de muestras que coinciden con la regla y no abandona ninguna muestra para coincidir con las reglas restantes.
    2. Puesto que <Field1> es posesivo, no hay muestras disponibles para <Field2>.
    3. Puesto que <Field1> es posesivo, no hay muestras disponibles para <Field3>. La entrada no es analizada.

    Ejemplo de cuantificador cero o una ocurrencia

    Expansivo

    1. El comportamiento expansivo de <Field1> no acepta muestras o acepta la cantidad máxima de muestras que coinciden con la regla y abandona las muestras solo cuando es necesario para coincidir con las reglas restantes.
    2. <Field2> solo puede aceptar la cantidad mínima de muestras que <Field1> se ve obligado a abandonar.
    3. <Field3> solo puede aceptar una sola muestra que <Field1> se ve obligado a abandonar.

    Reacio

    1. El comportamiento reacio de <Field1> acepta la cantidad mínima de muestras que coinciden con la regla y abandona las muestras solo cuando es necesario para coincidir con las reglas restantes.
    2. Puesto que <Field2> es expansivo, acepta la cantidad máxima de muestras abandonadas por <Field1> y abandona muestras solo cuando es necesario para coincidir con las reglas restantes.
    3. <Field3> únicamente puede aceptar una sola muestra que <Field2> se ve obligado a abandonar.

    Posesivo

    1. El comportamiento posesivo de <Field1> no acepta muestras o acepta la cantidad máxima de muestras que coinciden con la regla y no abandona ninguna muestra para coincidir con las reglas restantes.
    2. Puesto que <Field1> es posesivo, solo hay una muestra disponible para <Field2>.
    3. Puesto que <Field1> es posesivo, no hay muestras disponibles para <Field3>. La entrada no es analizada.

  • Ejemplo de cuantificador de ocurrencias mínimas y máximas

    Expansivo

    1. El comportamiento expansivo de la regla <Field1> acepta la cantidad máxima de muestras que coinciden con la regla y abandona las muestras solo cuando es necesario para coincidir con las reglas restantes.
    2. <Field2> solo puede aceptar la cantidad mínima de muestras que <Field1> se ve obligado a abandonar.
    3. <Field3> solo puede aceptar una sola muestra que <Field1> se ve obligado a abandonar.

    Reacio

    1. El comportamiento reacio de <Field1> acepta la cantidad mínima de muestras que coinciden con la regla y abandona las muestras solo cuando es necesario para coincidir con las reglas restantes.
    2. Puesto que <Field2> es expansivo, acepta la cantidad máxima de muestras abandonadas por <Field1> y abandona muestras solo cuando es necesario para coincidir con las reglas restantes.
    3. <Field3> únicamente puede aceptar una sola muestra que <Field2> se ve obligado a abandonar.

    Posesivo

    1. El comportamiento posesivo de <Field1> acepta la cantidad máxima de muestras que coinciden con la regla y no abandona ninguna muestra para coincidir las reglas restantes.
    2. Puesto que <Field1> es posesivo, hay dos muestras disponibles para <Field2>.
    3. <Field3> únicamente puede aceptar una sola muestra que <Field2> se ve obligado a abandonar.