Рубрики
Без рубрики

Python – функции regex

Начиная с честного опыта здесь – первый раз, когда я когда -либо увидел использованное выражение режима … Tagged с Python, OpenSource, Beginters, OOP.

Начиная с честного опыта здесь – впервые я увидел используемое выражение режима режима, было проверить действительные идентификаторы почты в программе C#. Я был довольно новичок в программировании тогда, и это был фрагмент кода, написанный одним из моих коллег. Поверьте мне, моя первая реакция на то, чтобы увидеть выражение корпорации, заключалась в том, что что -то пошло не так с кодом, и мы получили кучу отчужденных случайных символов среди кода.

Но теперь, несколько источников спустя, я уделяю минуту, чтобы оценить, как выражения режима режима упростили программирование.

В питоне режима обрабатывается Re модуль.

re.compile ()

После составления экспрессии режима режима функция дает объект экспрессии коррекса, который можно дополнительно использовать для сопоставления и других целей.

Лучшая практика – компилировать регулярное выражение, если то же самое используется несколько раз в одной программе.

reg_obj = re.compile(reg_expression)
result = reg_obj.match(sample_string)

исследовательская работа()

Эта функция сканирует образец строки, и везде, где находится первый совпадение, возвращает соответствующий соответствующий объект.

import re
def search_string(string):
    to_search=['good','boy']
    for pattern in to_search:
        if(re.search(pattern,string)):
            print('Match Found')
            print(re.search(pattern,string))
        else:
            print(re.search(pattern,string))
            print('NO match found')

search_string('You\'re a good buoy')

Выход:

Match Found

None
NO match found

Примечание: Пролет дает начальный и конечный индекс в образце строки, где был найден первый матч.

re.match ()

Разница между совпадением и поиском состоит в том, что совпадает поиск в начале образца строки, а затем, если совпадение найдено, возвращает соответствующий соответствующий объект.

Примечание: Функция соответствия может быть выполнена с помощью поиска с помощью ^ в начале рисунка регулярного выражения.

import re
def match_reg(string):
    reg = (r'.*[0-9]$')
    if(re.match(reg,string,re.IGNORECASE)):
        print("Match Found!")
    else:
        print('No match found!')

match_reg('abc07')
match_reg('3')
match_reg('21abc')

Выход:

Match Found!
Match Found!
No match found!

re.fullmatch ()

Как следует из названия, оно используется для сопоставления всей примерной строки.

re.findall ()

Должно быть, к настоящему времени вы заметили, что оба match () и search () возвращают первое вхождение соответствующего шаблона, однако, если мы хотим получить полный список всех неперестанных совпадений, то это наш метод. Результатом будет список групп/кортежей в зависимости от количества групп, которые будут сопоставлены.

sample = 'abc23@gmail.com, randomfella99@hotmail.com, suv04@yahoomail.com'
emails = re.findall(r'[\w\.-]+@[\w\.-]+', sample)
emails
for email in emails:
    print(email)

Выход:

abc23@gmail.com
randomfella99@hotmail.com
suv04@yahoomail.com

re.finditer ()

Он возвращает итератор соответствующих объектов. Несколько похоже на re.findall ().

re.split ()

Он расщепляет образец строки на основе прошедшего шаблона. Если будет установлен какой -либо предел максимального количества, он выполнит операцию раскола так много раз, а конечная строка должна содержать оставшуюся часть образца строки, которая не может быть разделена.

re.split(r'\W+', 'Words, words, words.')

Выход:

['Words', '', 'words', '', 'words', '']

re.sub ()

Используется в качестве функции для замены соответствующих шаблонов строки новым заданным шаблоном.

import re
sample_input='this contains abc and abc only'
result = re.sub('abc',  'def', sample_input)
result

Выход:

'this contains def and def only'

Надеюсь, это было полезно!

Оригинал: “https://dev.to/suvhotta/python-regex-functions-3d2n”