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.