Muchas veces, después de obtener el resultado de una búsqueda, necesitamos buscar un nivel más profundo en parte del resultado de búsqueda existente. Por ejemplo, en un cuerpo de texto dado, nuestro objetivo es obtener las direcciones web y también extraer las diferentes partes de la dirección web como el protocolo, el nombre de dominio, etc. En tal escenario, necesitamos tomar la ayuda de la función de grupo que se usa para dividir el resultado de la búsqueda en varios grupos se basa en la expresión regular asignada. Creamos dicha expresión de grupo separando el resultado de búsqueda principal usando paréntesis alrededor de la parte de búsqueda excluyendo las palabras fijas que queremos que coincidan.
import re
text = "The web address is https://www.tutorialspoint.com"
# Taking "://" and "." to separate the groups
result = re.search('([\w.-]+)://([\w.-]+)\.([\w.-]+)', text)
if result :
print "The main web Address: ",result.group()
print "The protocol: ",result.group(1)
print "The doman name: ",result.group(2)
print "The TLD: ",result.group(3)
Cuando ejecutamos el programa anterior, obtenemos el siguiente resultado:
The main web Address: https://www.tutorialspoint.com
The protocol: https
The doman name: www.tutorialspoint
The TLD: com