Освоение регулярных выражений: эффективные способы сопоставления ровно N цифр

Регулярные выражения (regex) – это мощные инструменты для сопоставления шаблонов в тексте. Когда дело доходит до сопоставления определенного количества цифр, регулярное выражение предоставляет различные методы для эффективного выполнения этой задачи. В этой статье блога мы рассмотрим несколько подходов с примерами кода для сопоставления ровно N цифр с помощью регулярного выражения.

Метод 1: Квантор точных цифр
Один из простых подходов — использовать квантор точных цифр “{N}”. Например, чтобы сопоставить ровно три цифры, вы можете использовать шаблон регулярного выражения «\d{3}». Вот пример кода на Python:

import re
pattern = r"\d{3}"
text = "12345 6789 456"
matches = re.findall(pattern, text)
print(matches)  # Output: ['123', '678']

Метод 2: привязки с помощью квантора цифр
Другой метод предполагает использование привязок для указания начала и конца строки вместе с квантором цифр. Это гарантирует, что будут сопоставлены только строки, содержащие ровно N цифр. Вот пример:

import re
pattern = r"^\d{3}$"
text = "12345 6789 456"
matches = re.findall(pattern, text, re.MULTILINE)
print(matches)  # Output: ['123']

Метод 3: граница слова с помощью квантификатора цифр
В случаях, когда цифры окружены нецифровыми символами (например, границами слов), мы можем использовать метасимвол «\b». Этот подход гарантирует, что N цифр совпадают, когда они появляются как отдельные объекты. Вот пример:

import re
pattern = r"\b\d{3}\b"
text = "12345 6789 456"
matches = re.findall(pattern, text)
print(matches)  # Output: ['123']

Метод 4: просмотр вперед и просмотр назад
Утверждения просмотра вперед и назад позволяют нам сопоставлять шаблоны на основе наличия определенных условий, не включая их в окончательное сопоставление. Мы можем использовать просмотр вперед и назад, чтобы гарантировать совпадение ровно N цифр. Вот пример:

import re
pattern = r"(?<=\D)\d{3}(?=\D)"
text = "12345 6789 456"
matches = re.findall(pattern, text)
print(matches)  # Output: ['123']

Сопоставление ровно N цифр с использованием регулярных выражений может быть достигнуто различными методами. В этой статье мы исследовали четыре метода: использование точного квантора цифр, привязок с квантором цифр, границы слова с квантором цифр и утверждений просмотра вперед/назад. Используя эти методы, вы можете эффективно извлекать из текста шаблоны, состоящие ровно из N цифр, с помощью регулярных выражений.

Не забывайте экспериментировать с различными вариантами шаблонов и корректировать их в соответствии со своими конкретными требованиями. Удачного сопоставления регулярных выражений!