⊗pyPmREInr 33 of 129 menu

Introduktion till reguljära uttryck i Python

Reguljära uttryck är kommandon för avancerad sökning och ersättning (eller bara sökning). De låter dig göra väldigt intressanta saker, men är tyvärr ganska svåra att lära sig.

För att börja arbeta med reguljära uttryck i Python måste vi importera en speciell modul re:

import re

Modulen re innehåller metoder avsedda för att arbeta med reguljära uttryck. Ett reguljärt uttryck är en uppsättning kommandon och består av två typer av tecken: de som betecknar sig själva och de som är kommandon, som kallas specialtecken.

Bekantskap med reguljära uttryck är bäst att börja med ett exempel på metoden sub, som används för ersättningar i en sträng. Den första parametern tar vad som ska ersättas, den andra - med vad. I den tredje parametern anger vi strängen där ersättningen ska göras. I den fjärde valfria parametern sätter vi antalet ersättningar. Den enklaste ersättningen med denna metod kommer att se ut så här:

res = re.sub('a', '!', 'bab') print(res) # skriver ut 'b!b'

Som du märkte betecknar bokstäver sig själva i det reguljära uttrycket. Detsamma gäller för siffror. Låt oss ersätta siffran 2 med !:

res = re.sub('2', '!', '12abc3') print(res) # skriver ut '1!abc3'

Däremot är en punkt ett specialtecken och betyder vilket tecken som helst. I nästa exempel låt oss hitta en delsträng med följande mönster: bokstaven 'x', sedan vilket tecken som helst, sedan bokstaven 'x' igen:

res = re.sub('x.x', '!', 'xax eee') print(res) # skriver ut '! eee'

Given en sträng:

txt = 'ahb acb aeb aeeb adcb axeb'

Skriv ett reguljärt uttryck som hittar strängarna 'ahb', 'acb', 'aeb' enligt mönstret: bokstaven 'a', vilket tecken som helst, bokstaven 'b'.

Given en sträng:

txt = 'aba aca aea abba adca abea'

Skriv ett reguljärt uttryck som hittar strängarna 'abba', 'adca', 'abea' enligt mönstret: bokstaven 'a', 2 valfria tecken, bokstaven 'a'.

Given en sträng:

txt = 'aba aca aea abba adca abea'

Skriv ett reguljärt uttryck som hittar strängarna 'abba' och 'abea', utan att fånga 'adca'.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa