Python - Ricerca vincolata

Molte volte, dopo aver ottenuto il risultato di una ricerca, dobbiamo cercare un livello più in profondità in una parte del risultato di ricerca esistente. Ad esempio, in un dato corpo di testo ci proponiamo di ottenere gli indirizzi web e anche di estrarre le diverse parti dell'indirizzo web come il protocollo, il nome di dominio ecc. In tale scenario dobbiamo prendere l'aiuto della funzione di gruppo che viene utilizzata per dividere il risultato della ricerca in vari gruppi si basa sull'espressione regolare assegnata. Creiamo tale espressione di gruppo separando il risultato della ricerca principale utilizzando parentesi attorno alla parte ricercabile escludendo le parole fisse che vogliamo corrispondere.

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)

Quando eseguiamo il programma sopra, otteniamo il seguente output:

The main web Address:  https://www.tutorialspoint.com
The protocol:  https
The doman name:  www.tutorialspoint
The TLD:  com