RegEx in Python
Regelgebaseerde informatie-extractie is handig voor veel NLP-taken. Bepaalde soorten entiteiten, zoals data of telefoonnummers, hebben duidelijke formaten die je met regels kunt herkennen zonder een model te trainen. In deze oefening ga je werken met het re-pakket voor RegEx. Het doel is om telefoonnummers te vinden in een gegeven text.
Het re-pakket is al voor je geïmporteerd. Je kunt \d gebruiken om tekenreekspatronen te matchen die staan voor een metateken dat elk cijfer van 0 tot en met 9 matcht.
Deze oefening maakt deel uit van de cursus
Natural Language Processing met spaCy
Oefeninstructies
- Definieer een patroon om telefoonnummers van de vorm (111)-111-1111 te matchen.
- Zoek alle overeenkomende patronen met de methode
re.finditer(). - Print voor elke match de begin- en eindposities en het overeenkomende gedeelte van de gegeven
text.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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[____:____])