Метод Python re.match()
re.match()является Pythonreмодуль, используемый длясопоставления с начала строкифункция сопоставления с шаблоном.
Если начало строки совпадает с указанным регулярным выражением, возвращается объект совпадения; в противном случае возвращаетNone。
Значение слова: matchЭто означает совпадать и соответствовать.
Базовый синтаксис и параметры
re.match()является функцией уровня модуля, вызываемой напрямую черезreвызов модуля.
Формат синтаксиса
re.match(pattern, string, flags=0)
Описание параметра
- pattern:
- Тип: строка (str)
- Описание: шаблон регулярного выражения для сопоставления.
- string:
- Тип: строка (str)
- Описание: строка для сопоставления.
- флаги:
- Тип: целое число (int, необязательно)
- Описание: флаги регулярного выражения.
Описание функций
- Возвращаемое значение: Если начало строки совпадает, возвращает
matchобъект совпадения; в противном случае возвращаетNone。 - Примечание:
re.match()Совпадает только с начала строки; не выполняет поиск в средней части строки.
Примеры
Давайте освоим на примерахre.match()использование.
Пример 1: Базовое использование — сопоставление в начале
Пример
import re
text = "Python — мощный язык программирования"
# Совпадение с "Python" с начала
result = re.match(r'Python', text)
if result:
print(Совпадение успешно:, result.group())
print(Позиция совпадения:, result.start(), "-", result.end())
text = "Python — мощный язык программирования"
# Совпадение с "Python" с начала
result = re.match(r'Python', text)
if result:
print(Совпадение успешно:, result.group())
print(Позиция совпадения:, result.start(), "-", result.end())
Ожидаемый вывод:
匹配成功: Python 匹配位置: 0 - 6
Пример 2: Когда начало не совпадает
Пример
import re
text = Я Python
# Совпадение с "Python" с начала — не сработает
result = re.match(r'Python', text)
if result:
print(Совпадение успешно:, result.group())
else:
print(Совпадение не удалось: строка не начинается с Python)
text = Я Python
# Совпадение с "Python" с начала — не сработает
result = re.match(r'Python', text)
if result:
print(Совпадение успешно:, result.group())
else:
print(Совпадение не удалось: строка не начинается с Python)
Ожидаемый вывод:
匹配失败: 字符串开头不是Python
Пример 3: Сопоставление содержимого после начала строки
Пример
import re
text = 2024 — особенный год
# Совпадение с форматом года (4 цифры)
result = re.match(r'\d{4}', text)
if result:
print(Найденный год:, result.group())
text = 2024 — особенный год
# Совпадение с форматом года (4 цифры)
result = re.match(r'\d{4}', text)
if result:
print(Найденный год:, result.group())
Ожидаемый вывод:
匹配到年份: 2024
Пример 4: Использование групп для извлечения данных
Пример
import re
text = "Hello World"
# Совпадение с "Hello", за которым следует пробел и "World"
result = re.match(r'(Hello) (World)', text)
if result:
print(Полное совпадение:, result.group())
print(Группа 1:, result.group(1))
print(Группа 2:, result.group(2))
text = "Hello World"
# Совпадение с "Hello", за которым следует пробел и "World"
result = re.match(r'(Hello) (World)', text)
if result:
print(Полное совпадение:, result.group())
print(Группа 1:, result.group(1))
print(Группа 2:, result.group(2))
Ожидаемый вывод:
完整匹配: Hello World 第1组: Hello 第2组: World
Другие расширения
Модуль re в Python