НачатьНачать бесплатно

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[____:____])
Редактировать и запускать код