Úvod do programu Python Regex

Python je dnes v technickom priemysle módnym slovom. Je to jazyk, ktorý získava na popularite rýchlym tempom. Je to veľmi dynamický jazyk a dá sa použiť na vytváranie webových aplikácií na algoritmy strojového učenia. V tomto článku sa dozvieme, ako sa Regex používa v Pythone. Regex je krátka forma regulárneho výrazu a je to v podstate sekvencia znakov, ktorá sa dá použiť ako vzor. Dobrá vec je, že Python má svoj vlastný vstavaný balík Regex známy ako re.

syntaxe:

Budeme rozumieť Syntaxi s príkladom. V príklade na to môžeme vyhľadať reťazec, aby sme zistili, či začína reťazcom „He“ a končí výrazom „smart“.

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

Ak sa pozriete na syntax, je to veľmi jednoduché, musíte najskôr naimportovať balík regex, ktorý je re, a potom použiť ľubovoľnú z funkcií importovaného balíka podľa vašich požiadaviek. Ak spustíme vyššie uvedený vzorový kód v Jupytere, dostaneme výsledok nižšie.

Regexové funkcie v Pythone

Existuje veľa funkcií regulárnych výrazov, ktoré nám pomáhajú hľadať reťazec pre zhodu. Predtým sa najprv dozvíme o postavách, ktoré zvyčajne vidíme vo funkcii regulárnych výrazov.

()

Predstavuje množinu znakov.

,

Predstavuje akýkoľvek znak okrem nového riadku.

*

Predstavuje nulové alebo viac výskytov.

+

Predstavuje jeden alebo viac výskytov.

^

Predstavuje začiatočný znak

$

Predstavuje koncový znak.

|

Predstavuje buď - alebo.

()

Predstavuje zachytenie a skupinu.

\

Zvyčajne sa používa na únik zo špeciálnych znakov

Regex má tiež niekoľko špeciálnych sekvencií, ktoré bude užitočné poznať napríklad:

\ w

Zobrazuje zhodu, ak reťazec obsahuje akúkoľvek množinu slovných znakov od (0-9), AZ alebo az a podčiarknutie.

\ W

Ak reťazec neobsahuje žiadne znaky slova, vráti zhodu.

\ d

Tieto výnosy sa zhodujú, keď sú v reťazci číslice.

\ D

Je to opak oproti predchádzajúcemu, pretože vracia zhodu, ak v reťazci nie sú žiadne číslice.

\ s

Používa sa na kontrolu znakov medzery v reťazci. Ak sú prítomné znaky medzery, vracia zhodu.

\ S

Vráti zhodu, keď v reťazci nie sú žiadne medzery.

Funkcie používané pre operácie Regex

Pozrime sa na rôzne funkcie re modulu, ktoré môžu byť použité pre regexové operácie v pythone.

1. findall () funkcia: Táto funkcia je prítomná v re module. Vracia zoznam všetkých zhôd prítomných v reťazci. Iteruje zľava doprava cez reťazec. Zápasy sa vracajú v rovnakom poradí ako pri vyhľadávaní. Prejdeme príkladom. Predpokladajme, že chceme nájsť všetky číslice prítomné v reťazci. Na tento účel použijeme funkciu findall (), v ktorej nájdeme všetky číslice prítomné v reťazci. Pozrime sa na to teraz kód:

kód:

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)

Ak prejdeme kódom, v zásade sme variabilnému slovu priradili reťazec obsahujúci číslice a potom predali príslušný regulárny symbol pre číslice spolu s variabilným slovom ako argumenty vo funkcii findall ().

Teraz sa pozrime na výstup.

Ako vidíte, výsledkom je zoznam čísel.

2. funkcia search (): Funkcia vyhľadávania sa používa na vyhľadávanie vzorcov v reťazci a ak sa nájde zhoda, vráti objekt. Tu si musíme pamätať na to, že ak existuje viac ako jeden zápas, vráti sa iba prvý výskyt. Ak sa nenájde žiadna zhoda, vráti sa žiadna. Uvidíme príklad tohto predpokladu, ak chceme nájsť reťazec, ktorý sa začína konkrétnym slovom. Budeme testovať pozitívne aj negatívne prípady zhody. Pozrime sa na rovnaký kód.

kód:

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)

Premenná „regulárny“ sa tu používa v pozitívnom scenári a premenná „regex1“ pre negatívny scenár. Teraz si pozrite výstup.

V prvom prípade dostaneme vrátený objekt zápasu, v druhom prípade vrátime 'Žiadny'.

3. Funkcia Split (): Táto funkcia rozdelí reťazec po každej zhode, čo znamená, že akonáhle sa v reťazci vyskytne zhoda, táto funkcia odtiaľto rozdelí reťazec. Takže, ak sú tri zápasy, potom budú tri rozdelenia. Uvidíme príklad. Predpokladajme, že chceme rozdeliť reťazec po každom priestore. Túto rozdelenú funkciu teda môžeme v tejto situácii dobre využiť.

kód:

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

Tu vzory predstavujú znak medzery. Teraz sa pozrime na výstup.

Ako vidíte vo výstupe, reťazec sa rozdelí po každom medzere.

4. Funkcia sub (): Táto funkcia nahrádza zhody reťazcom alebo znakom podľa výberu používateľa. V podstate to znamená, že ak existuje reťazec, nahradí tento zhoda alebo reťazec reťazcom alebo znakom a vráti upravený reťazec. Vyžaduje si to tri argumenty. Napríklad v našom reťazci nahradíme iba medzeru znakom „&“.

kód:

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

Teraz sa pozrime na výstup vyššie uvedeného kódu.

Ako vidíte, všetky priestory boli nahradené znakom „&“.

záver

V tomto článku sme diskutovali o regulárnom module a jeho rôznych vstavaných funkciách Pythonu. Regex je veľmi dôležitý a bežne sa používa v rôznych programovacích jazykoch.

Odporúčané články

Toto je sprievodca programom Python Regex. Tu diskutujeme Úvod do Python Regex a niektoré dôležité regex funkcie spolu s príkladom. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Zatiaľ čo slučka v Pythone
  2. Reverzné číslo v Pythone
  3. Python Kľúčové slová
  4. Sady Pythonu
  5. Kľúčové slová PHP
  6. C ++ Kľúčové slová

Kategórie: