Способы поиска и обработки текста
Существует несколько способов поиска и обработки текста в Python с использованием регулярных выражений:
re.match(pattern, string, flags=0)
:Ищет соответствие шаблону только в начале строки. Этот метод полезен, когда нужно убедиться, что текст начинается с определенного паттерна.
import re pattern = re.compile(r'\d{3}-\d{2}-\d{4}') text = "Social Security Number: 123-45-6789" match = pattern.match(text) if match: print("Найдено:", match.group()) else: print("Не найдено.")
re.search(pattern, string, flags=0)
:Ищет соответствие шаблону в любом месте строки. Этот метод полезен, когда нужно найти первое совпадение в тексте.
import re pattern = re.compile(r'\d{3}-\d{2}-\d{4}') text = "SSN: 123-45-6789, SSN: 987-65-4321" match = pattern.search(text) if match: print("Найдено:", match.group()) else: print("Не найдено.")
re.findall(pattern, string, flags=0)
:Ищет все непересекающиеся совпадения шаблона в строке и возвращает их в виде списка строк.
import re pattern = re.compile(r'\d{3}-\d{2}-\d{4}') text = "SSN: 123-45-6789, SSN: 987-65-4321" matches = pattern.findall(text) print("Найденные SSN:", matches)
re.finditer(pattern, string, flags=0)
:Итеративно возвращает объекты
re.Match
для каждого совпадения шаблона. Это удобно, когда нужно обрабатывать каждое совпадение поочередно.
import re pattern = re.compile(r'\d{3}-\d{2}-\d{4}') text = "SSN: 123-45-6789, SSN: 987-65-4321" for match in pattern.finditer(text): print("Найдено:", match.group())
Last updated
Was this helpful?