Функции регулярных выражений, которые вам следует знать

Регулярные выражения (regex) очень полезны для извлечения шаблонов и информации из заданного фрагмента текста. Регулярное выражение используется для сопоставления с образцом в тексте, но, с другой стороны, оно игнорируется большинством программистов, поскольку им сложно изучить и понять.

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

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

В этой статье я придумал функции, используемые с регулярными выражениями для извлечения информации из заданного текста, с некоторыми примерами. Давайте начнем!

1. findall ()

Эта findall() функция возвращает список строк, соответствующих шаблону. Этот метод просматривает входную строку слева направо, а затем возвращает все неперекрывающиеся результаты, соответствующие шаблону.

Этот метод принимает в качестве входных данных два аргумента pattern и string.

Синтаксис: re.findall (шаблон, строка)

import re
text = "Hello 12, how are you? This is 13"
pattern = "\d+"
result = re.findall(pattern, text)
print(result)
Output:
['12', '13']

2. поиск ()

Этот search() метод используется для поиска определенного шаблона в заданном тексте / строке. Этот метод возвращает объект match, если совпадающий шаблон обнаружен в тексте. В противном случае возвращается None.

Этот метод принимает в качестве входных данных два аргумента, pattern и string. Этот метод останавливается после первого совпадения шаблона. Следовательно, это гораздо полезнее для тестирования регулярного выражения, чем для извлечения данных.

Синтаксис: re.search (шаблон, строка, флаги = 0)

import re
text = "Python is a programming language"
#cheking if 'Python' is present at the beginning
match = re.search('\APython', text)
if match:
    print("Pattern found")
else:
    print("Pattern not found")

Output:
Pattern found

3. split ()

Эта функция split() разбивает строку при совпадении с шаблоном и возвращает список строк, в которых шаблон разделил новую строку.

Эта функция принимает в качестве входных данных два параметра pattern и string. Первый параметр - это шаблон, обозначающий регулярное выражение. Всякий раз, когда образец обнаруживается в строке, он разбивает строку.

Синтаксис: re.split (шаблон, строка, maxsplit = 0)

import re
text = "Hello 12, how are you? This is 13"
pattern = "\d+"
result = re.split(pattern, text)
print(result)
Output:
['Hello ', ', how are you? This is ', '']

4. sub ()

Эта функция sub() используется для поиска шаблона в строке и последующей замены этого шаблона другим текстом. Эта функция принимает на вход три параметра pattern, replace, string.

Параметр шаблона используется для поиска шаблонов в тексте, параметр replace - это текст, который мы хотим заменить на извлеченный шаблон, а строковый параметр - это текст, в котором мы хотим выполнить операции.

Функция возвращает строку после замены совпадающих вхождений содержимым параметра replace.

Синтаксис: re.sub (шаблон, замена, строка)

import re
text = "Namaste World! How are you doing?"
#replacing whitespace characters with '!!' 
result = re.sub("\s", "!!", text)
print(result)
Output:
Namaste!!World!!!How!!are!!you!!doing?

Здесь мы видим, что в выходной строке символы пробела были заменены на «!!».

5. subn ()

Этот subn() метод почти аналогичен sub() методу. Единственная разница заключается в выводе обоих методов.

Метод sub() возвращает строку после замены совпадающего шаблона текстом параметра replace, а метод subn() возвращает кортеж, состоящий из измененной строки и количества замен в строке.

Синтаксис: re.subn (шаблон, замена, строка)

import re
text = "Namaste world. I prefer to work at night"
pattern = "wo"
result = re.subn(pattern, "~", text)
print(result)
Output:
('Namaste ~rld. I prefer to ~rk at night', 2)

Здесь мы видим, что вывод представляет собой кортеж, состоящий из измененной строки и количества замен.

Заключение

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

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

Спасибо за прочтение!

Вы можете подписаться на мою бесплатную информационную рассылку здесь: Информационный бюллетень Пралабха.