ComenzarEmpieza gratis

El signo de interrogación y sus dos significados

El operador OR va bien cuando sabes exactamente qué opciones son válidas y estás seguro de que alguna de ellas está presente. Pero ¿y si quieres hacer coincidir un patrón en el que una parte a veces aparece y a veces no? Aquí entra en juego el signo de interrogación ?:

El ? puede hacer opcional el grupo o carácter anterior. Con él, una expresión regular hace coincidencia aunque falte cierta parte del patrón. Pero ojo: si sigue a un multiplicador como * o +, el signo de interrogación puede tener un segundo efecto:

El ? también puede hacer que el multiplicador anterior sea "perezoso" en lugar de "codicioso". Esto significa que, en vez de que las expresiones regulares busquen el número máximo de caracteres, el ? tiene la capacidad de encontrar el número mínimo de coincidencias de texto.

Este ejercicio forma parte del curso

Expresiones regulares intermedias en R

Ver curso

Instrucciones del ejercicio

  • Haz coincidir tanto el singular "Screen" como el plural "Screens" haciendo opcional la última "s".
  • Haz coincidir una cantidad aleatoria de caracteres cualesquiera delante de una coma usando .*.
  • Haz coincidir el mismo patrón con un signo de interrogación ? después del asterisco: ¿notas la diferencia?

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Match both Screen and Screens by making the last "s" optional
str_match(lines, pattern = "Screens___")

# Match a random amount of arbitrary characters, followed by a comma
str_match(lines, pattern = "___,")

# Match the same pattern followed by a comma, but the "lazy" way
str_match(lines, pattern = "___,")
Editar y ejecutar código