RegEx в Python
Извлечение информации на основе правил полезно для многих задач NLP. Некоторые типы сущностей, например даты или номера телефонов, имеют чёткий формат, который можно распознать с помощью набора правил — без обучения какой-либо модели. В этом упражнении вы попрактикуетесь в использовании пакета re для работы с RegEx. Цель — найти номера телефонов в заданном тексте text.
Пакет re уже импортирован и готов к использованию. Для поиска числовых шаблонов применяйте \d — этот метасимвол соответствует любой цифре от 0 до 9.
Это упражнение является частью курса
Обработка естественного языка с помощью 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[____:____])