ComenzarEmpieza gratis

¡Cierra la etiqueta, por favor!

Al mismo tiempo, estás trabajando en otro de tus proyectos. La empresa va a desarrollar un nuevo producto. Ayudará a los desarrolladores a comprobar automáticamente el código que están escribiendo. Tienes que escribir un pequeño script para comprobar que cada etiqueta HTML de apertura tenga su cierre.

Tienes un ejemplo de cadena que contiene etiquetas HTML:

<title>The Data Science Company</title>

Descubres que las etiquetas HTML de apertura siempre están al principio de la cadena. Se escriben entre <>. Las etiquetas de cierre también se escriben entre <>, precedidas de /.

También debes recordar que puede hacerse referencia a los grupos de captura usando números (por ejemplo, \4).

La lista html_tags, que contiene tres cadenas con etiquetas HTML, y el módulore ya se han cargado en tu sesión. Puedes utilizar print() para ver los datos en el shell IPython.

Este ejercicio forma parte del curso

Expresiones regulares en Python

Ver curso

Instrucciones de ejercicio

  • Completa la regex para buscar las etiquetas HTML de cierre. Comprueba si hay alguna instancia en cada cadena de la lista html_tags. Asigna el resultado a match_tag.
  • Si se encuentra una instancia, imprime el primer grupo capturado y guardado en match_tag.
  • Si no se encuentra ninguna instancia, completa la regex para buscar solo el texto escrito dentro de la etiqueta HTML. Asígnalo a notmatch_tag.
  • Imprime el primer grupo capturado por la regex y guárdalo en notmatch_tag.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

for string in html_tags:
    # Complete the regex and find if it matches a closed HTML tags
    match_tag =  re.match(____"<____>.*?", ____)
 
    if match_tag:
        # If it matches print the first group capture
        print("Your tag {} is closed".format(match_tag.____(____))) 
    else:
        # If it doesn't match capture only the tag 
        notmatch_tag = re.match(____"<____>", ____)
        # Print the first group capture
        print("Close your {} tag!".format(notmatch_tag.____(____)))
Editar y ejecutar código