Príklady regulárneho výrazu Python

Priklady Regularneho Vyrazu Python



Úplná forma regulárneho výrazu je regulárny výraz. Je to dôležitá vlastnosť každého programovacieho jazyka. Je to vzor reťazca, ktorý sa používa na zhodu, vyhľadávanie alebo nahradenie reťazcov v hodnote reťazca. Vzor regulárneho výrazu možno použiť v skripte Python pomocou modulu Python „re“. Tento modul má mnoho typov funkcií na vykonávanie rôznych operácií s reťazcami. Rôzne metaznaky a špeciálne sekvencie sa používajú na definovanie vzorov regulárnych výrazov na vyhľadávanie alebo nahradenie úloh. Účely použitia niektorých bežne používaných metaznakov, špeciálnych sekvencií a metód regulárneho výrazu v skripte Python sú uvedené v tomto návode.

Niektoré bežne používané metaznaky v regulárnom výraze:









Postavy Účel
'+' Používa sa na priradenie jedného alebo viacerých výskytov konkrétneho znaku v reťazci.
'*' Používa sa na spárovanie nula alebo viacerých výskytov konkrétneho znaku v reťazci.
'?' Používa sa na priradenie nuly alebo jedného výskytu konkrétneho znaku v reťazci.
'^' Používa sa na priradenie konkrétneho znaku alebo reťazca na začiatku reťazca.
'$' Používa sa na priradenie konkrétneho znaku alebo reťazca na konci reťazca.
'|' Používa sa na spárovanie ktoréhokoľvek z viacerých reťazcov v reťazci. Funguje to ako logika OR.
„[]“ Používa sa na prispôsobenie rozsahu znakov.
'{}' Používa sa na priradenie určitého počtu znakov.



Niektoré bežne používané špeciálne sekvencie v regulárnom výraze:





Sekvencie Účel
„\A“ Používa sa na zhodu s konkrétnym znakom na začiatku reťazca. Funguje ako znak „^“.
„\b“, „\B“ „\b“ sa používa na priradenie reťazca, ktorý obsahuje konkrétny znak alebo slovo na začiatku alebo na konci reťazca. „\B“ funguje opačne ako „\b“.
„\d“, „\D“ „\d“ sa používa na priradenie desiatkového čísla v reťazci, ktoré je podobné ako „[0-9]“. „\D“ funguje opačne ako „\d“.
„\s“, „\S“ „\s“ sa používa na priradenie medzier v reťazci, ktorý je podobný „[\n\t\r\v]“. „\S“ funguje opačne ako „\s“.
„\w“, „\W“ „\w“ sa používa na priradenie abecedných a číselných znakov v reťazci. „\W“ funguje opačne ako „\w“.
'\WITH' Používa sa na priradenie konkrétneho znaku na konci reťazca. Funguje ako znak „$“.

Príklad 1: Priraďte reťazec pomocou funkcie Match().

Funkcia match() sa používa na priradenie vzoru regulárneho výrazu na začiatku reťazca. Syntax tejto funkcie je daná takto:



Syntax:

re.match ( vzor, ​​šnúrka, vlajky = 0 )

Tu sa prvý argument používa na definovanie vzoru regulárneho výrazu. Druhý argument sa používa na definovanie hlavného reťazca. Tretí argument je voliteľný a používa sa na definovanie rôznych typov príznakov.

Vytvorte súbor Python pomocou nasledujúceho skriptu, ktorý zodpovedá vzoru regulárneho výrazu s definovaným reťazcom pomocou funkcie match(). Najprv sa na spárovanie použije definovaný vzor regulárneho výrazu. Potom sa od používateľa prevezme hľadané slovo a použije sa ako vzor regulárneho výrazu, ktorý sa zhoduje s hodnotou reťazca. Ak sa nájde nejaká zhoda, vytlačí sa hľadané slovo. V opačnom prípade sa vytlačí reťazec „Nenašla sa žiadna zhodná hodnota“.

#Importujte potrebný modul
import re

#Definujte funkciu na tlač zodpovedajúceho výsledku
def matchString ( ) :
#Skontrolujte návratovú hodnotu funkcie match().
ak spolu s ! = Žiadne:
vytlačiť ( ''' + mat.skupina ( ) + „“ sa nachádza v „“ + strValue + ''' )
inak:
vytlačiť ( 'Nenašla sa žiadna zodpovedajúca hodnota.' )

# Definujte hodnotu reťazca
strValue = 'Prvý dnu prvý von.'
#Priraďte reťazec podľa vzoru
mat = re.match ( '^Prvý' , strValue )
Funkcia #Call na vytlačenie výsledku zápasu
matchString ( )

#Vezmite hľadaný reťazec
inValue = vstup ( 'Zadajte hodnotu vyhľadávania: ' )
mat = re.match ( inValue + , strValue )
Funkcia #Call na vytlačenie výsledku zápasu
matchString ( )

Pre „prvú“ vstupnú hodnotu sa zobrazí nasledujúci výstup:

Príklad 2: Nájdite reťazec pomocou funkcie Findall().

Funkcia findall() sa používa na vrátenie všetkých zodpovedajúcich slov, ktoré sa nachádzajú v hlavnom reťazci ako n-tica.

Syntax:

re.findall ( vzor, ​​šnúrka, vlajky = 0 )

Tu sa prvý argument používa na definovanie vzoru regulárneho výrazu. Druhý argument sa používa na definovanie hlavného reťazca. Tretí argument je voliteľný a používa sa na definovanie rôznych typov príznakov.

Vytvorte súbor Python pomocou nasledujúceho skriptu, ktorý preberá hodnotu hlavného reťazca a hodnotu vyhľadávacieho reťazca od používateľa. Potom použite hľadané slovo  vo vzore regulárneho výrazu, aby ste našli hľadané slovo v hlavnom reťazci. Celkový počet zhôd je vytlačený vo výstupe.

#Importujte potrebný modul
import re

#Vezmite hodnotu reťazca
inValue = vstup ( 'Zadajte reťazec: ' )

#Vyhľadajte slovo
srcValue = vstup ( 'Zadajte hľadané slovo: ' )

#Vyhľadajte slovo v reťazci
srcResult = re.findall ( srcValue + '\In*' , inValue )
#Vytlačte výsledok vyhľadávania
vytlačiť ( 'Slovo '' + srcValue + '' sa nachádza v reťazci '
+ str ( len ( srcResult ) ) + 'krát.' )

Podľa výstupu sa hľadané slovo „jesť“ nachádza dvakrát v hlavnom reťazci „Jeme, aby sme žili a nežijeme, aby sme jedli“.

Príklad 3: Vyhľadajte reťazec pomocou funkcie Search().

Search() je ďalšia funkcia na vyhľadávanie konkrétneho vzoru v hodnote reťazca. Obsahuje rovnaké argumenty ako funkcie match() a findall(). Vytvorte súbor Python pomocou nasledujúceho skriptu, ktorý vyhľadá slovo „Python“ v hodnote reťazca, ktorá bude prevzatá od používateľa. Ak hľadané slovo existuje vo vstupnej hodnote, vytlačí sa správa o úspechu. V opačnom prípade sa vytlačí chybové hlásenie.

#Import re modul
import re

#Vezmite hodnotu reťazca
inValue = vstup ( 'Zadajte reťazec: ' )
#Vyhľadajte konkrétne slovo v hodnote reťazca
srcResult = re.search ( r 'Python\w*' , inValue )

#Skontrolujte, či sa hľadané slovo našlo alebo nie
ak srcResult:
vytlačiť ( ''' + srcResult.group ( ) + „“ sa nachádza v „“ + inValue + ''' )
inak:
vytlačiť ( 'Hľadaný reťazec sa nenašiel.' )

Výkon:

Nasledujúci výstup sa zobrazí, ak je vstupný reťazec „Páči sa mi programovanie v Pythone“:

Nasledujúci výstup sa zobrazí, ak je vstupný reťazec „Páči sa mi programovanie PHP“:

Príklad 4: Nahraďte reťazec pomocou funkcie Sub().

Funkcia sub() sa používa na vyhľadávanie konkrétneho reťazca na základe vzoru a jeho nahradenie iným slovom. Syntax tejto funkcie je daná takto:

Syntax:

re.sub ( vzor, ​​nahradiť_reťazec, hlavný_reťazec )

Prvý argument tejto funkcie obsahuje vzor, ​​ktorý sa používa na vyhľadávanie konkrétneho reťazca v hlavnom reťazci.

Druhý argument tejto funkcie obsahuje hodnotu reťazca „nahradiť“.

Tretí argument tejto funkcie obsahuje hlavný reťazec.

Táto funkcia vráti nahradený reťazec, ak v hlavnom reťazci existuje nejaké zodpovedajúce slovo na základe prvého argumentu.

Vytvorte súbor Python pomocou nasledujúceho skriptu, ktorý hľadá dve číslice na konci reťazca. Ak reťazec obsahuje na konci dve číslice, tieto číslice sa nahradia reťazcom „50 USD“.

#Import re modul
import re

# Definujte hlavný reťazec
strValue = 'Cena knihy je 70'

# Definujte vzor vyhľadávania
vzor = '[0-9]{2}'

# Definujte hodnotu nahradenia
nahradiťHodnotu = '$50'

#Vyhľadajte a nahraďte reťazec podľa vzoru
modifikovaná_strValue = re.sub ( vzor, ​​nahradiťValue, strValue )
# Vytlačte pôvodné a upravené hodnoty reťazca
vytlačiť ( 'Pôvodný reťazec: ' + strValue )
vytlačiť ( 'Upravený reťazec: ' + upravená_strValue )

Výkon:

Na konci hlavnej šnúry ich bolo 70. Takže 70 je nahradených 50 USD v nahradenom reťazci.

Príklad 5: Nahraďte reťazec pomocou funkcie Subn().

Funkcia subn() funguje ako funkcia sub() okrem toho, že vracia výstup ako n-ticu, kde prvý index obsahuje nahradenú hodnotu a druhý index obsahuje celkový počet zhôd.

Vytvorte súbor Python pomocou nasledujúceho skriptu, ktorý prehľadáva abecedy A až L v reťazci „LinuxHint.com“ pomocou funkcie subn():

#Import re modul
import re

# Definujte hlavný reťazec
strValue = 'LinuxHint.com'

# Definujte vzor vyhľadávania
vzor = „[TO THE]“

# Definujte hodnotu nahradenia
nahradiťHodnotu = '*'

#Vyhľadajte a nahraďte reťazec podľa vzoru
modifikovaná_strValue = re.subn ( vzor, ​​nahradiťValue, strValue )
#Vytlačte pôvodný reťazec a výstup subn()
vytlačiť ( 'Pôvodný reťazec: \n ' + strValue )
vytlačiť ( 'Výstup funkcie subn(): ' )
vytlačiť ( upravená_strValue )

Výkon:

Podľa nasledujúceho výstupu sú znaky „L“ a „H“ nahradené znakom „*“.

Príklad 6: Rozdelenie reťazca pomocou funkcie Split().

Vytvorte súbor Python pomocou nasledujúceho skriptu, ktorý použil funkciu split() na rozdelenie hlavného reťazca na viacero častí na základe vzoru regulárneho výrazu:

#Import re modul
import re

#Definujte hodnotu reťazca
strVal= 'Rupa Akter; Nira Chowdhury; Mazharul Islam'
#Definujte vzor, ​​ktorý sa použije na rozdelenie údajov
vzor = '[^A-Za-z ]'
#Uložte rozdelené hodnoty do zoznamu
split_result = re.split ( vzor, ​​strVal )
vytlačiť ( 'Výstup funkcie split():' )
vytlačiť ( split_result )

Výkon:

Podľa výstupu je hlavný reťazec rozdelený na tri časti na základe vzoru „[^A-Za-z ]“, ktorý sa používa v skripte.

Záver

Účel najbežnejšie používaných metaznakov, rozsahov a vstavaných funkcií Pythonu na vyhľadávanie, nahradzovanie a delenie reťazcov je uvedený v tomto návode pomocou jednoduchých skriptov Pythonu.