es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué necesitarías alguna vez la condición (?(R)…|…) en una expresión regular?

Estaba revisando la documentación de regex y me confundí por algo. La condición (R) en el contexto de (?(R)...|...) se dice que es lo siguiente:

El lenguaje Perl fue un poco críptico:

(R)

    Verifica si la expresión ha sido evaluada dentro de la recursión. Sintaxis completa: (?(R)entonces|sino)

PCRE no fue de mucha ayuda:

(?(R) condición de recursión en general

Y regular-expressions.info no tenía nada que decir al respecto.

¿Esta condición se usa para determinar si la pila de subrutinas tiene más de un nivel de profundidad o significa algo más?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    La condición (R) en el contexto de (?(R)...|...) se utiliza para verificar si la expresión ha sido evaluada dentro de la recursión. Esto significa que se puede utilizar para determinar si la coincidencia actual del patrón está sucediendo dentro de una recursión o no. No indica específicamente si la pila de subrutinas es de más de un nivel de profundidad, sino más bien si hay alguna coincidencia recursiva sucediendo.

Comments are closed.