Inleiding tot Python Regex

Python is tegenwoordig het modewoord in de technische industrie. Het is een taal die snel aan populariteit wint. Het is een zeer dynamische taal en kan worden gebruikt om webapplicaties te bouwen voor algoritmen voor machine learning. In dit artikel gaan we leren hoe Regex wordt gebruikt in Python. Een regex is een korte vorm van reguliere expressie en het is in feite een reeks tekens die als patroon kunnen worden gebruikt. Het goede is dat Python een eigen ingebouwd Regex-pakket heeft dat bekend staat als re.

Syntaxis:

We gaan de syntaxis begrijpen met een voorbeeld. In het voorbeeld hiervan kunnen we een string zoeken om te zien of deze begint met "He" en eindigt met "smart".

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

Als u naar de syntaxis kijkt, is het heel eenvoudig dat u eerst het regex-pakket dat opnieuw is moet importeren en vervolgens een van de functies van het geïmporteerde pakket volgens uw vereiste moet gebruiken. Als we de bovenstaande voorbeeldcode uitvoeren in Jupyter, krijgen we het onderstaande resultaat.

Regex-functies in Python

Er zijn veel regex-functies die ons helpen om in een string naar een match te zoeken. Daarvoor zullen we eerst leren over de tekens die we meestal in een regex-functie zien.

()

Het vertegenwoordigt een reeks tekens.

.

Het vertegenwoordigt elk teken behalve een nieuwe regel.

*

Het vertegenwoordigt nul of meer voorvallen.

+

Het vertegenwoordigt een of meer gebeurtenissen.

^

Het vertegenwoordigt het startpersonage

$

Het vertegenwoordigt het laatste karakter.

|

Het vertegenwoordigt of-of.

()

Het staat voor vastleggen en groeperen.

\

Het wordt meestal gebruikt om aan speciale tekens te ontsnappen

Regex heeft ook een paar speciale sequenties die handig kunnen zijn om bijvoorbeeld te weten:

\ w

Het toont een match als de string een set woordtekens heeft van (0-9), AZ of az en onderstrepingsteken.

\ w

Het geeft een overeenkomst als de string geen woordtekens bevat.

\ d

Deze resultaten komen overeen wanneer er cijfers in de tekenreeks zijn.

\ D

Het is tegengesteld aan de vorige omdat het de overeenkomst retourneert als er geen cijfers in de tekenreeks voorkomen.

\ s

Het wordt gebruikt om te controleren op spaties in een string. Het geeft de overeenkomst terug als er witte spaties aanwezig zijn.

\ S

Het geeft de match terug als er geen witte spaties in de string staan.

Functies die worden gebruikt voor Regex-bewerkingen

Laten we de verschillende functies van de re-module bekijken die kunnen worden gebruikt voor regex-bewerkingen in python.

1. findall () functie: deze functie is aanwezig in de re-module. Het retourneert een lijst met alle overeenkomsten in de reeks. Het itereert van links naar rechts over de string. De overeenkomsten worden ook geretourneerd in exact dezelfde volgorde van zoeken. We zullen hier een voorbeeld van doornemen. Stel dat we alle cijfers in een string willen vinden. Hiervoor gebruiken we de functie findall () waarin we alle cijfers in de string vinden. Laten we de code hiervoor nu bekijken:

Code:

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)

Als we door de code gaan, krijgen we in principe het variabele woord toegewezen met een string die cijfers bevat en geven we vervolgens het juiste regex-symbool voor cijfers samen met het variabele woord door als argumenten in de functie findall ()

Laten we nu de uitvoer bekijken.

Zoals u kunt zien, krijgen we een lijst met getallen als resultaat.

2. search () functie: de zoekfunctie wordt gebruikt om patronen in een string te zoeken en als een match wordt gevonden, wordt het object geretourneerd. Een ding dat we moeten onthouden, is dat als er meer dan één overeenkomst is, deze alleen de eerste keer terugkeert. Als er geen overeenkomst wordt gevonden, wordt er geen gevonden. We zullen hiervoor een voorbeeld zien als we de string willen vinden die begint met een bepaald woord. We zullen zowel positieve als negatieve match cases testen. Laten we de code voor hetzelfde zien.

Code:

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)

Hier wordt variabele 'regex' gebruikt in een positief scenario en variabele 'regex1' voor een negatief scenario. Bekijk nu de uitvoer.

In het eerste geval krijgen we het matchobject terug, in het tweede geval krijgen we 'Geen' terug.

3. Split () functie: deze functie splitst de string na elke match, wat betekent dat zodra er een match in de string is, deze functie de string vanaf daar splitst. Dus als er drie wedstrijden zijn, zijn er drie splitsingen. We zullen een voorbeeld zien. Stel dat we na elke spatie een string willen splitsen. Dus we kunnen deze splitfunctie in die situatie goed gebruiken.

Code:

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

Hier vertegenwoordigen de patronen witruimte karakter. Laten we nu de uitvoer bekijken.

Zoals u in de uitvoer kunt zien, wordt de tekenreeks na elke spatie gesplitst.

4. functie sub (): deze functie vervangt de overeenkomsten door de tekenreeks of het teken van de keuze van de gebruiker. Het betekent in feite dat als er een overeenkomst in de reeks voorkomt, deze het overeenkomende teken of reeks vervangt door uw reeks of teken en de gewijzigde reeks retourneert. Er zijn drie argumenten voor nodig. We zullen bijvoorbeeld gewoon de witte ruimte vervangen door '&' in onze string.

Code:

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

Laten we nu eens kijken naar de uitvoer voor de bovenstaande code.

Zoals je kunt zien, zijn alle spaties vervangen door '&'.

Conclusie

In dit artikel hebben we de regex-module en de verschillende ingebouwde Python-functies besproken. Regex is erg belangrijk en wordt veel gebruikt in verschillende programmeertalen.

Aanbevolen artikelen

Dit is een gids voor Python Regex. Hier bespreken we de inleiding tot Python Regex en enkele belangrijke regex-functies samen met een voorbeeld. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie–

  1. Terwijl Loop in Python
  2. Omgekeerd nummer in Python
  3. Python-zoekwoorden
  4. Python-sets
  5. PHP-zoekwoorden
  6. C ++ Trefwoorden