Вступ до Python Regex

Python - це найголовніше слово в технічній галузі. Це мова, яка швидко набирає популярність. Це дуже динамічна мова і може використовуватися для створення веб-додатків до алгоритмів машинного навчання. У цій статті ми дізнаємось про те, як Regex використовується в Python. Зворотний вираз - це коротка форма регулярного вираження, і це в основному послідовність символів, яка може бути використана як візерунок. Хороша річ, що Python має власний вбудований пакет Regex, відомий як re.

Синтаксис:

Ми розберемося з синтаксисом на прикладі. Прикладом цього ми можемо шукати рядок, щоб побачити, чи починається він з "Він" і закінчується "розумним".

import reword = "He is very smart"
x =re.search("^He.*smart$", word)
print(x)

Якщо ви подивитесь на синтаксис, це дуже просто, вам потрібно спочатку імпортувати пакет регулярних виразів, який є повторним, а потім використовувати будь-яку з функцій імпортованого пакета відповідно до вашої потреби. Якщо в Jupyter запустити вищезгаданий зразок коду, отримаємо результат нижче.

Функції Regex в Python

Існує багато функцій регулярних виразів, які допомагають нам шукати рядок відповідності. Перед цим ми спочатку дізнаємося про символи, які ми зазвичай бачимо у функції регулярного виразів.

()

Він являє собою набір символів.

.

Він представляє будь-який символ, окрім нового рядка.

*

Він представляє нуль або більше випадків.

+

Він являє собою одну або декілька подій.

^

Він представляє початковий символ

$

Він представляє закінчувальний символ.

|

Він являє собою або.

()

Він являє собою захоплення та групування.

\

Зазвичай використовується для втечі спеціальних символів

У Regex також є кілька спеціальних послідовностей, про які буде корисно знати, наприклад:

\ ш

Він показує збіг, якщо рядок містить будь-який набір символів слова з (0-9), AZ або az та підкреслення.

\ Ш

Він повертає відповідність, якщо в рядку немає символів слова.

\ d

Ці повернення відповідають, якщо в рядку є цифри.

\ D

Він протилежний попередньому, оскільки він повертає збігом, якщо в рядку немає цифр.

\ с

Він використовується для перевірки пробілів у рядку. Він повертає відповідність, якщо є білі пробіли.

\ S

Він повертає збіг, коли в рядку немає пробілів.

Функції, що використовуються для операцій Regex

Давайте подивимось різні функції модуля re, які можна використовувати для операцій регулярного вираження в python.

1. функція findall (): Ця функція присутня в модулі re. Він повертає список усіх відповідностей у рядку. Він повторюється зліва направо через рядок. Збіги також повертаються в точно такому ж порядку пошуку. Ми переглянемо приклад цього. Припустимо, ми хочемо знайти всі цифри, присутні в рядку. Для цього ми будемо використовувати функцію findall (), в якій ми знайдемо всі цифри, присутні в рядку. Давайте зараз подивимось код для цього:

Код:

import re
word = "Raju is 22 years old and his mobile number last three-digit is 789"
rgex ='\d+'
x =re.findall(rgex, word)
print(x)

Якщо ми переходимо до коду, нам в основному присвоюється слово змінної з рядком, що містить цифри, а потім передається відповідний символ регулярного вираження для цифр разом із словом змінної як аргументи у функції findall ()

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

Як ви бачите, в результаті ми отримуємо список номерів.

2. функція search (): Функція пошуку використовується для пошуку шаблонів у рядку, і якщо знайдено збіг, він повертає об'єкт. Тут одне, що ми маємо пам’ятати, якщо це більше, ніж один збіг, то він повертає лише перше виникнення. Якщо не знайдено відповідності, він не повертає жодного. Ми побачимо приклад цього припущення, якщо ми хочемо знайти рядок, який починається з конкретного слова. Ми перевіримо як позитивні, так і негативні випадки відповідності. Давайте подивимось код для того ж.

Код:

import re
word = "Raju is 22 years old"
rgex ='^Raju'
x =re.search(rgex, word)
print(x)
regex1= '^Mohan'
x1 = re.search(regex1, word)
print(x1)

Тут змінна 'regex' використовується в позитивному сценарії, а змінна 'regex1' для негативного сценарію. Тепер, будь ласка, дивіться вихід.

У першому випадку ми повертаємо об'єкт відповідності, а у другому - повертаємо "None".

3. Функція розділення (): ця функція розбиває рядок після кожного відповідності, що означає, що, як тільки є збіг у рядку, ця функція розділяє рядок звідти. Отже, якщо буде три матчі, то буде три розколи. Ми побачимо приклад. Припустимо, ми хочемо розділити рядок після кожного пробілу. Таким чином, ми можемо використовувати цю функцію розділення, щоб добре використовуватись у цій ситуації.

Код:

import re
word = "Raju is 22 years old"
rgex ='\s'
x =re.split(rgex, word)
print(x)

Тут візерунки представляють білий простір. Тепер давайте подивимося на вихід.

Як видно у висновку, рядок розділяється після кожного пробілу.

4. sub () функція: ця функція замінює відповідність рядком або символом на вибір користувача. Це в основному означає, що якщо в рядку є відповідність, він замінить відповідний символ або рядок вашим рядком або символом і поверне модифіковану рядок. Це бере три аргументи. Наприклад, ми просто замінимо пробіл на "&" у нашому рядку.

Код:

import re
word = "Raju is 22 years old"
rgex ='\s'
x =re.sub(rgex, '&', word)
print(x)

Тепер давайте розглянемо вихід для вищевказаного коду.

Як ви бачите, усі пробіли були замінені на "&".

Висновок

У цій статті ми обговорили модуль регулярного вирівнювання та його різні вбудовані функції Python. Regex дуже важливий і широко використовується в різних мовах програмування.

Рекомендовані статті

Це посібник з Python Regex. Тут ми обговорюємо Вступ до Python Regex та деякі важливі функції регулярних виразів разом із прикладом. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Поки цикл у Python
  2. Зворотне число в Python
  3. Ключові слова Python
  4. Набори Python
  5. PHP Ключові слова
  6. C ++ Ключові слова