Python RegEx
- Forrige side Python JSON
- Næste side Python PIP
RegEx eller regulære udtryk er en sekvens af tegn, der danner en søgepatron.
RegEx kan bruges til at kontrollere om en streng indeholder den specifikke søgepatron.
RegEx
Python tilbyder en modul kaldet re
s indbyggede pakke, kan bruges til at håndtere regulære udtryk。
Import re
Modul:
import re
RegEx i Python
Import re
Modulen, kan du begynde at bruge regulære udtryk:
Eksempel
Søg efter strengen for at se om den starter med "China" og slutter med "country":
import re txt = "China er et fantastisk land" x = re.search("^China.*country$", txt)
RegEx-funktioner
re
Modulen tilbyder en række funktioner, der tillader os at hente streng til at matche:
Funktion | Beskrivelse |
---|---|
findall | Returnerer en liste over alle matches |
search | Returnerer en Match-objekt, hvis der findes en match nogen sted i strengen |
split | Returnerer en liste over streng, der deles ved hver match |
sub | Erstat en eller flere matches med en streng |
Meta-tegnet
Meta-tegnet er et tegn med en speciel betydning:
Tegn | Beskrivelse | Eksempel | TIY |
---|---|---|---|
[] | En gruppe tegn | "[a-m]" | Prøv det |
\ | Viser specielle sekvenser(kan også bruges til at escape specielle tegn) | "\d" | Prøv det |
. | Enhver tegn(undtagen linjeskiftet) | "he..o" | Prøv det |
^ | Begynder med | "^hello" | Prøv det |
$ | Afslutter med | "world$" | Prøv det |
* | Ingen eller flere gange | "aix*" | Prøv det |
+ | En eller flere gange | "aix+" | Prøv det |
{} | Præcis angivet antal gange | "al{2}" | Prøv det |
| | Enhver af de to | "falls|stays" | Prøv det |
() | Catches og grupper |
Specielle sekvenser
Specielle sekvenser er \
Følget af et tegn fra nedenstående tabel, som har en speciel betydning:
Tegn | Beskrivelse | Eksempel | TIY |
---|---|---|---|
\A | Returnerer en match, hvis den angivne tegnene findes i begyndelsen af strengen | "\AThe" | Prøv det |
\b | Returnerer en match, hvor den angivne tegn findes i begyndelsen eller slutningen af et ord |
r"\bain" r"rain\b" |
Prøv det Prøv det |
\B | Returnerer en match, hvor den angivne tegn findes, men ikke i begyndelsen af et ord(eller slutningen) |
r"\Bain" r"rain\B" |
Prøv det Prøv det |
\d | Returnerer en match, hvor strengen indeholder tal(0-9) | "\d" | Prøv det |
\D | Returnerer en match, hvor strengen ikke indeholder tal | "\D" | Prøv det |
\s | Returnerer en match, hvor strengen indeholder blanke tegn | "\s" | Prøv det |
\S | Returnerer en match, hvor strengen ikke indeholder blanke tegn | "\S" | Prøv det |
\w | Returnerer en match, hvor strengen indeholder nogen bogstaver (A til Z-karakterer, fra 0 til 9-tal og understregen _-tegn) |
"\w" | Prøv det |
\W | Returnerer en match, hvor strengen ikke indeholder nogen bogstaver | "\W" | Prøv det |
\Z | Returnerer en match, hvis den angivne tegnene findes i slutningen af strengen | "Spanien\Z" | Prøv det |
Samling (Set)
Sæt (Set) er et par klammer} []
En gruppe tegn inden for et sæt, der har specialbetydning:
Sæt | Beskrivelse | Prøv det |
---|---|---|
[arn] | Returnerer en match, hvor der findes en af de angivne tegn (a, r eller n) | Prøv det |
[a-n] | Returnerer match af et hvilket som helst lille bogstav mellem a og n | Prøv det |
[^arn] | Returnerer match af et hvilket som helst tegn, der ikke er a, r eller n | Prøv det |
[0123] | Returnerer match af et hvilket som helst tal (0, 1, 2 eller 3) | Prøv det |
[0-9] | Returnerer match af et hvilket som helst tal mellem 0 og 9 | Prøv det |
[0-5][0-9] | Returnerer match af alle tal mellem 0 og 9 | Prøv det |
[a-zA-Z] | Returnerer match af alle bogstaver mellem a og z, både små og store | Prøv det |
[+] | I sæt, +, *, ., |, (), $, {} har ingen specialbetydning, så [+] betyder: returner alle match af + tegn i strengen | Prøv det |
findall() funktionen
findall()
Funktionen returnerer en liste, der indeholder alle match.
Eksempel
Skriv ud listen over alle match:
import re str = "China is a great country" x = re.findall("a", str) print(x)
Listen indeholder matchene i den rækkefølge, de blev fundet.
Returnerer en tom liste, hvis der ikke findes en match:
Eksempel
Returnerer en tom liste, hvis der ikke findes en match:
import re str = "China is a great country" x = re.findall("USA", str) print(x)
search() funktionen
search()
Funktionen søger efter match i strengen og returnerer et Match-objekt, hvis der findes en match.
Hvis der er flere match, returneres kun den første match:
Eksempel
Søg efter den første mellemrumstegn i strengen:
import re str = "China is a great country" x = re.search("\s", str) print("Den første mellemrumstegn er placeret i position:", x.start())
Hvis der ikke findes en match, returneres værdien Ingen
:
Eksempel
Udfør søgning uden at returnere match:
import re str = "China is a great country" x = re.search("USA", str) print(x)
split() funktionen
split()
Funktionen returnerer en liste, hvor strengen deles ved hver match:
Eksempel
Delt ved hver mellemrumstegn:
import re str = "China is a great country" x = re.split("\s", str) print(x)
Du kan specificere maxsplit
Parameter til at kontrollere antallet af gange:
Eksempel
Delt kun ved første forekomst af streng:
import re str = "China is a great country" x = re.split("\s", str, 1) print(x)
sub() funktionen
sub()
Funktionen erstatter matchen med den valgte tekst:
Eksempel
Erstat hver mellemrumstegn med tallet 9:
import re str = "China is a great country" x = re.sub("\s", "9", str) print(x)
Du kan specificere count
Parameter til at kontrollere antallet af erstatninger:
Eksempel
Erstat de første to forekomster:
import re str = "China is a great country" x = re.sub("\s", "9", str, 2) print(x)
Match-objektet
Match-objektet er et objekt, der indeholder oplysninger om søgningen og resultaterne.
Kommentar:Hvis der ikke er nogen match, returneres værdien Ingen
i stedet for Match-objektet.
Eksempel
Udførelsen vil returnere et Match-objekt fra søgningen:
import re str = "China is a great country" x = re.search("a", str) print(x) # Vil printe et objekt
Match-objektet tilbyder egenskaber og metoder til at hente oplysninger om søgningen og resultaterne:
span()
Den returnerede tuple indeholder start- og slutpositionen for matchen.string
Returner den streng, der er indsendt til funktionengroup()
Returner den matchende del af strengen
Eksempel
Print placeringen af den første match (start- og slutposition).
Find stregt tegnudtryk, der starter med store bogstaver "C":
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.span())
Eksempel
Print den streng, der er indsendt til funktionen:
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.string)
Eksempel
Print den matchende del af strengen.
Find stregt tegnudtryk, der starter med store bogstaver "C":
import re str = "China is a great country" x = re.search(r"\bC\w+", str) print(x.group())
Kommentar:Hvis der ikke er nogen match, returneres værdien Ingen
i stedet for Match-objektet.
- Forrige side Python JSON
- Næste side Python PIP