Hvordan lage et vanlig uttrykk i Python

Søke etter mønstre i teksten kan komme godt med i et bredt spekter av oppgaver. Med regulære uttrykk, kan du utnytte Python til å gjøre ellers tidkrevende og kjedelige data masserer oppgaver enkle å fullføre. Python støtter utvidet regulære uttrykk, noe som betyr at du kan få en tilsvarende funksjonalitet i perl eller php pcre regulære uttrykk motorer.

Bruksanvisning

Kompilere Expression

1 Importere vanlige uttrykket modulen inn din Python-kode ved å legge til "import re" på toppen av koden din.

2 Lag et regulært uttrykk objekt ved hjelp av re.compile metode:
myregex = re.compile("my\wexample\wregex")

3 Passere en valgfri andre argument for å re.compile som indikerer modifikatorer til regulære uttrykk. For eksempel, hvis du ønsker å gjøre din vanlige uttrykket match over flere linjer og være små bokstaver, kan du kompilere uttrykk som:
myregex = re.compile('my\wexample\wregex', 're.IGNORECASE | re.MULTILINE')

Søke

4 Lag en variabel som lagrer resultatene av kompilerte regulære uttrykk. Bruk din kompilert vanlig uttrykk for å søke på en snor og tilordne resultatene:
results = myregex.search('use my example regex to search this string')

5 Bruk din kamp objekt variabel og bruke start () -funksjonen for å finne starten på den første forekomsten av det regulære uttrykket:
print results.start()
>> 3

6 Bruk enden () -funksjonen for å finne enden av den første forekomst av det vanlige uttrykket:
print results.end()
>> 21

7 Bruk gruppe () -funksjonen til å finne strengen som passet ditt regulære uttrykk:
print results.group()
>>> my example regex

Erstatte

8 Bruk vanlig uttrykk for å utføre et bytte i strengen med re.sub rutine, om nødvendig.

9 Opprett en ny streng variabel å holde resultatene av substitusjon. Det første argumentet er substitusjons tekst, og det andre argumentet er strengen som skal matches på:
newstring = myregex.sub('kung fu', 'use my example regex to regex this string')
print newstring
>>> use my kung fu to regex this string

Hint

  • Python Regular Expression Slik inneholder en solid innføring i prosessen med å arbeide med regulære uttrykk på alle språk, samt full dokumentasjon på alle store regex rutiner og modifikatorer (se Ressurser nedenfor).
  • Python regulære uttrykk ikke direkte sams på Unicode tokens. Du kan imidlertid bruke \ uFFFF multi-byte notasjon for å utføre Unicode kamper.