RegEx in Python
L’estrazione di informazioni basata su regole è utile per molte attività di NLP. Alcuni tipi di entità, come date o numeri di telefono, hanno formati distinti che possono essere riconosciuti con un insieme di regole senza dover addestrare alcun modello. In questo esercizio, farai pratica con il pacchetto re per le RegEx. L’obiettivo è trovare i numeri di telefono in un dato text.
Il pacchetto re è già importato. Puoi usare \d per far combaciare schemi di stringhe tramite il metacarattere che corrisponde a qualsiasi cifra da 0 a 9.
Questo esercizio fa parte del corso
Natural Language Processing con spaCy
Istruzioni dell'esercizio
- Definisci un pattern per far combaciare numeri di telefono nel formato (111)-111-1111.
- Trova tutti i pattern corrispondenti usando il metodo
re.finditer(). - Per ogni match, stampa i caratteri di inizio e fine e la porzione corrispondente del
textfornito.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
text = "Our phone number is (425)-123-4567."
# Define a pattern to match phone numbers
pattern = r"\((____){____}\)-(____){____}-(____){____}"
# Find all the matching patterns in the text
phones = re.____(pattern, text)
# Print start and end characters and matching section of the text
for match in phones:
start_char = match.____
end_char = match.____
print("Start character: ", ____, "| End character: ", ____, "| Matching text: ", text[____:____])