РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
419 of 687 menu

Метод fullmatch

Метод fullmatch применяется к строковой серии через аксессор str и проверяет, полностью ли каждая строка соответствует переданному регулярному выражению. В отличие от match, который ищет совпадение только в начале строки, fullmatch требует, чтобы шаблон совпадал со всей строкой от начала и до конца. Первым параметром передаётся регулярное выражение, а параметром flags можно управлять опциями поиска.

Синтаксис

ser.str.fullmatch(pat, case=True, flags=0, na=None)

Параметр pat принимает строку с регулярным выражением. Параметр case определяет чувствительность к регистру, na задаёт заполнитель для пропущенных значений.

Пример

Проверим, состоят ли строки ровно из трёх букв:

import pandas as pd ser = pd.Series(['abc', 'abcd', '123', 'xyz', 'abcde']) res = ser.str.fullmatch(r'[a-z]{3}') print(res)

Результат выполнения кода:

0 True 1 False 2 False 3 True 4 False dtype: bool

Строка 'abc' и 'xyz' подходят под шаблон, а остальные строки - нет.

Пример

Используем параметр case для отключения чувствительности к регистру:

import pandas as pd ser = pd.Series(['user', 'User', 'USER', 'users']) res = ser.str.fullmatch(r'user', case=False) print(res)

Результат выполнения кода:

0 True 1 True 2 True 3 False dtype: bool

Все три строки совпадают с шаблоном, кроме 'users', потому что она содержит лишние символы.

Пример

Применим метод к таблице с колонкой строковых значений:

import pandas as pd df = pd.DataFrame({ 'a': [1, 2, 3, 4], 'b': ['data', 'data.csv', 'file.csv', 'log'] }) res = df['b'].str.fullmatch(r'.+\.csv') print(res)

Результат выполнения кода:

0 False 1 True 2 True 3 False dtype: bool

Строки 'data.csv' и 'file.csv' полностью совпадают с шаблоном "любые символы, точка, csv".

Пример

Добавим символы начала и конца строки, чтобы убедиться в совпадении всей строки:

import pandas as pd ser = pd.Series(['article', 'article123', '123article', 'article']) res = ser.str.fullmatch(r'^article$') print(res)

Результат выполнения кода:

0 True 1 False 2 False 3 True dtype: bool

Только строки, полностью совпадающие со словом 'article', получили True.

Пример

Обработаем пропущенные значения с помощью na:

import pandas as pd ser = pd.Series(['abc', None, 'xyz', 'ABC']) res = ser.str.fullmatch(r'[a-z]{3}', na=False) print(res)

Результат выполнения кода:

0 True 1 False 2 True 3 False dtype: bool

Пропуск заменён на False, а строка 'ABC' не совпала из-за регистра.

Смотрите также

  • метод match,
    который ищет совпадение в начале строки
  • метод contains,
    который проверяет вхождение подстроки
  • метод extract,
    который извлекает группы из совпадений
  • метод findall,
    который находит все совпадения в строке
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить