RegEx у Python
Правиловий (rule-based) витяг інформації корисний для багатьох завдань НЛП. Деякі типи сутностей, як-от дати або номери телефонів, мають чіткі формати, які можна розпізнати набором правил без навчання моделі. У цій вправі ви попрактикуєтеся у використанні пакета re для RegEx. Мета — знайти номери телефонів у заданому text.
Пакет re вже імпортовано для вас. Ви можете використовувати \d, щоб знаходити шаблони рядків, які відповідають метасимволу для будь-якої цифри від 0 до 9.
Ця вправа є частиною курсу
Обробка природної мови (NLP) зі spaCy
Інструкції до вправи
- Визначте шаблон для збігу номерів телефону у форматі (111)-111-1111.
- Знайдіть усі збіги за допомогою методу
re.finditer(). - Для кожного збігу виведіть початкову й кінцеву позиції та відповідний фрагмент у заданому
text.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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[____:____])