Способы поиска и обработки текста

Существует несколько способов поиска и обработки текста в Python с использованием регулярных выражений:

  1. 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("Не найдено.")
  2. 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("Не найдено.")
  3. 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)
  4. 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