Introduktion till Python Regex

Python är det nuvarande ordet i teknikbranschen. Det är ett språk som växer i snabb takt. Det är ett mycket dynamiskt språk och kan användas för att bygga webbapplikationer till maskininlärningsalgoritmer. I den här artikeln ska vi lära oss om hur Regex används i Python. En regex är en kort form av Regular Expression och det är i princip en sekvens av tecken som kan användas som ett mönster. Det goda är att Python har sitt eget inbyggda Regex-paket som kallas re.

Syntax:

Vi kommer att förstå syntaxen med ett exempel. Exemplet för detta kan vi söka i en sträng för att se om det börjar med "Han" och slutar med "smart".

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

Om du tittar på syntaxen är det mycket enkelt att du först måste importera regex-paketet som är nytt och sedan använda någon av funktionerna i det importerade paketet enligt ditt krav. Om vi ​​kör ovanstående provkod i Jupyter får vi nedanstående resultat.

Regex-funktioner i Python

Det finns många regexfunktioner som hjälper oss att söka i en sträng efter en matchning. Innan det kommer vi först att lära oss om de karaktärer som vi i allmänhet ser i en regex-funktion.

()

Det representerar en uppsättning tecken.

.

Det representerar alla tecken utom en ny linje.

*

Det representerar noll eller fler händelser.

+

Det representerar en eller flera händelser.

^

Det representerar startkaraktären

$

Det representerar slutkaraktären.

|

Det representerar antingen-eller.

()

Det representerar fångst och gruppering.

\

Det används vanligtvis för att undkomma specialtecken

Regex har också några speciella sekvenser som är användbara att veta till exempel:

\ w

Det visar en matchning om strängen har någon uppsättning ordtecken från (0-9), AZ eller az och understreck.

\ W

Det returnerar en matchning om strängen inte har några ordtecken närvarande.

\ d

Dessa returer matchar när det finns siffror i strängen.

\ D

Det är motsatt av det föregående eftersom det returnerar matchning om inga siffror finns i strängen.

\ s

Det används för att kontrollera om vitrumstecken i en sträng. Det returnerar matchningen om vitrumstecken finns.

\ S

Det returnerar matchning när det inte finns några vita mellanslag i strängen.

Funktioner som används för Regex-operationer

Låt oss se olika funktioner i re-modulen som kan användas för regex-operationer i python.

1. findall () -funktion: Denna funktion finns i re-modulen. Det returnerar en lista över alla matchningar som finns i strängen. Det iterates från vänster till höger över strängen. Matcherna returneras också i exakt samma sökordning. Vi kommer att gå igenom ett exempel på detta. Anta att vi vill hitta alla siffror som finns i en sträng. För detta kommer vi att använda funktionen findall () där vi hittar alla siffror som finns i strängen. Låt oss se koden för detta nu:

Koda:

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)

Om vi ​​går igenom koden tilldelas vi i princip det variabla ordet med en sträng som innehåller siffror och sedan passar lämplig regex-symbol för siffror tillsammans med det variabla ordet som argument i funktionen findall ()

Låt oss nu se utgången.

Som ni ser får vi en lista med siffror som resultat.

2. Sök () -funktion: Sökfunktionen används för att söka mönster i en sträng och om en matchning hittas returnerar den objektet. En sak som vi måste komma ihåg är att om det finns mer än en match så returnerar det bara den första händelsen. Om ingen matchning hittas returnerar den ingen. Vi ser ett exempel på detta om vi vill hitta strängen som börjar med ett visst ord. Vi testar både positiva och negativa matchfall. Låt oss se koden för samma.

Koda:

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)

Här används variabel "regex" i ett positivt scenario och variabel "regex1" för ett negativt scenario. Se nu utgången.

I det första fallet får vi matchobjektet tillbaka medan i det andra fallet får vi 'Ingen' tillbaka.

3. Split () -funktion: Den här funktionen delar upp strängen efter varje matchning vilket innebär att så snart det finns en matchning i strängen delar denna funktion strängen därifrån. Så om det finns tre matcher kommer det att finnas tre delningar. Vi kommer att se ett exempel. Anta att vi vill dela upp en sträng efter varje mellanslag. Så vi kan använda den här delade funktionen för bra användning i den situationen.

Koda:

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

Här representerar mönstren vitrums karaktär. Låt oss nu se utgången.

Som du kan se i utgången delas strängen efter varje utrymme.

4. sub () -funktion: Denna funktion ersätter matchningarna med strängen eller tecknet för användarens val. Det betyder i princip att om det finns en matchning i strängen kommer den att ersätta det matchade tecknet eller strängen med din sträng eller tecken och returnera den modifierade strängen. Det krävs tre argument. Till exempel ersätter vi bara det vita utrymmet med '&' i vår sträng.

Koda:

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

Låt oss nu titta på utgången för ovanstående kod.

Som ni ser har alla utrymmen ersatts med '&'.

Slutsats

I den här artikeln diskuterade vi regex-modulen och dess olika Python-inbyggda funktioner. Regex är mycket viktigt och används ofta på olika programmeringsspråk.

Rekommenderade artiklar

Detta är en guide till Python Regex. Här diskuterar vi introduktionen till Python Regex och några viktiga regexfunktioner tillsammans med ett exempel. Du kan också gå igenom våra andra artiklar som föreslås för att lära dig mer–

  1. Medan Loop i Python
  2. Omvänd nummer i Python
  3. Python-nyckelord
  4. Python-uppsättningar
  5. PHP-nyckelord
  6. C ++ Nyckelord

Kategori: