Maybaygiare.org

Blog Network

Python RegEx: re.match (), re.søk (), re.findall () Med Eksempel

Hva Er Regulært Uttrykk I Python?

Et Regulært Uttrykk (RE) i et programmeringsspråk er en spesiell tekststreng som brukes til å beskrive et søkemønster. Det er svært nyttig for å trekke ut informasjon fra tekst som kode, filer, logg, regneark eller dokumenter.

Mens Du bruker Python regulære uttrykk det første er å gjenkjenne er at alt er egentlig et tegn, og vi skriver mønstre for å matche en bestemt sekvens av tegn også referert til som streng. Ascii eller latinske bokstaver er de som er på tastaturer Og Unicode brukes til å matche utenlandsk tekst. Det inkluderer sifre og tegnsetting og alle spesialtegn som$#@!%, osv.

I Denne Python RegEx opplæringen, vil vi lære –

  • Regulært Uttrykk Syntaks
  • Eksempel på w+ Og ^ Uttrykk
  • Eksempel på \s uttrykk i re.split funksjon
  • ved hjelp av regulære uttrykksmetoder
  • Ved hjelp av re.match ()
  • Finne Mønster I Tekst (re .søk ())
  • Ved hjelp av re.findall for tekst
  • Python Flagg
  • Eksempel på re.For eksempel kan Et Python regulært uttrykk fortelle et program å søke etter bestemt tekst fra strengen og deretter skrive ut resultatet tilsvarende. Uttrykk kan inkludere
    • tekst matchende
    • Repetisjon
    • Forgrening
    • Mønster-komposisjon etc.Regulært uttrykk Eller RegEx i Python er betegnet SOM RE (REs, regexes eller regex mønster) importeres gjennom re modul. Python støtter regulære uttrykk gjennom biblioteker. RegEx i Python støtter ulike ting som Modifikatorer, Identifikatorer og Hvite mellomrom.
      Identifikatorer Modifikatorer mellomrom tegn Escape kreves
      \d= et hvilket som helst tall (et siffer) \d representerer et siffer.Ex: \d{1,5} det vil erklære siffer mellom 1,5 som 424,444,545 etc. \n = ny linje . + * ? $ ^ () {} | \
      \d= alt annet enn et tall (et ikke-siffer) + = matcher 1 eller mer
      \s= mellomrom (fane,mellomrom,linjeskift osv.) ? = matches 0 or 1 \t =tab
      \S= anything but a space * = 0 or more \e = escape
      \w = letters ( Match alphanumeric character, including «_») $ match end of a string \r = carriage return
      \W =anything but letters ( Matches a non-alphanumeric character excluding «_») ^ match start of a string \f= form feed
      . = anything but letters (periods) | matches either or x/y —————–
      \b = any character except for new line = range or «variance» —————-
      \. {x} = denne mengden av foregående kode —————–

      Regular Expression(RE) Syntaks

      import re
      • «re» modul som følger med Python primært brukt for streng søking og manipulasjon
      • også brukt ofte for web-side «Skraping» (trekke ut store mengder vi vil begynne uttrykksopplæringen med denne enkle øvelsen ved å bruke uttrykkene (w+) og (^).

        Eksempel på w+ Og ^ Uttrykk

        • «^»: Dette uttrykket samsvarer med starten på en streng
        • «w+»: dette uttrykket samsvarer med det alfanumeriske tegnet i strengen

        Her ser Vi Et Python RegEx-Eksempel på hvordan vi kan bruke w + og ^ uttrykk i koden vår. Vi dekker funksjonen re.findall () I Python, senere i denne opplæringen, men for en stund fokuserer vi bare på \w + og \ ^ uttrykk.

        For eksempel, for vår streng «guru99, utdanning er gøy» hvis vi utfører koden med w + og^, vil den gi utgangen «guru99».

        Python Regex Tutorial: re.match (), re.søk (), re.findall (), Flagg

        import rexx = "guru99,education is fun"r1 = re.findall(r"^\w+",xx)print(r1)

        Husk At hvis du fjerner +tegn fra w+, vil utgangen endres, og det vil bare gi det første tegnet i første bokstav, dvs.

        Eksempel på \ s uttrykk i re.split funksjon

        • «s»: dette uttrykket brukes til å lage et mellomrom i strengen

        for å forstå hvordan Denne Regexen i Python fungerer, begynner vi Med et Enkelt Python RegEx Eksempel på en delt funksjon. I eksemplet har vi delt hvert ord ved hjelp av » re.split » funksjon og samtidig har vi brukt uttrykk \s som gjør det mulig å analysere hvert ord i strengen separat.

        Python Regex Tutorial: re.match (), re.søk (), re.findall (), Flagg

        Når du utfører denne koden, vil den gi deg utgangen .

        nå, la oss se hva som skjer hvis du fjerner «\» fra s. det er ikke noe ‘s’ alfabet i utgangen, dette er fordi vi har fjernet ‘ \ ‘ fra strengen, og det evaluerer «s» som et vanlig tegn og dermed deler ordene hvor det finner «s» i strengen.

        Python Regex Tutorial: re.match (), re.søk (), re.findall (), Flagg

        På Samme måte er det serier av Andre Python regulære uttrykk som du kan bruke på ulike måter I Python som \d, \ D,$,\., \b, etc.

        her er den komplette koden

        import rexx = "guru99,education is fun"r1 = re.findall(r"^\w+", xx)print((re.split(r'\s','we are splitting the words')))print((re.split(r's','split the words')))

        Neste skal vi se hvilke typer metoder som brukes med vanlig uttrykk i Python.

        ved hjelp av regulære uttrykksmetoder

        «re» – pakken inneholder flere metoder for å faktisk utføre spørringer på en inngangsstreng. Vi vil se metodene for re I Python:

        • re.match ()
        • re.søk()
        • re.findall ()

        Merk: Basert på regulære uttrykk, Tilbyr Python to forskjellige primitive operasjoner. Match-metoden sjekker bare for en kamp i begynnelsen av strengen mens søk sjekker for en kamp hvor som helst i strengen.

        re.treff ()

        re.match () funksjon av re I Python vil søke det vanlige uttrykksmønsteret og returnere den første forekomsten. Python RegEx Match-metoden sjekker for en kamp bare i begynnelsen av strengen. Så, hvis en kamp er funnet i første linje, returnerer den kampobjektet. Men hvis en kamp er funnet i en annen linje, Returnerer Python RegEx Match-funksjonen null.

        for eksempel, vurder Følgende Kode For Python re.match () – funksjonen. Uttrykket » w+» og «\w «vil matche ordene som begynner med bokstaven’ g ‘ og deretter, noe som ikke er startet med ‘g’ er ikke identifisert. For a sjekke kamp for hvert element i listen eller strengen, kjorer vi forloop i Denne Python re.match () Eksempel.

        Python Regex Tutorial: re.match (), re.søk (), re.findall (), Flagg

        re.søk (): Finne Mønster i Tekst

        re.søk () – funksjonen vil søke det regulære uttrykksmønsteret og returnere den første forekomsten. I motsetning Til Python re.match (), det vil sjekke alle linjene i inngangsstrengen. Den Python re.søk () – funksjonen returnerer et kampobjekt når mønsteret er funnet og» null » hvis mønsteret ikke er funnet

        for å kunne bruke søk () – funksjonen må du først importere Python re-modulen og deretter utføre koden. Den Python re.søk () funksjonen tar «mønster» og «tekst» for å skanne fra vår hovedstreng

        Python Regex Tutorial: re.match (), re.søk (), re.findall (), Flagg

        for eksempel her ser vi etter to bokstavelige strenger «Software testing «»guru99″, i en tekststreng»Software Testing is fun». For «software testing» fant vi kampen dermed returnerer utgangen Av Python re.søk () Eksempel som «funnet en kamp», mens for ordet» guru99 «vi ikke kunne finne i streng derfor returnerer utdataene som»ingen kamp».

        re.findall ()

        findall () modulen brukes til å søke etter» alle » forekomster som samsvarer med et gitt mønster. I kontrast vil search () – modulen bare returnere den første forekomsten som samsvarer med det angitte mønsteret. findall () vil iterere over alle linjene i filen og vil returnere alle ikke-overlappende treff av mønster i ett enkelt trinn.

        For eksempel, her har vi en liste over e-postadresser, og vi vil at alle e-postadressene skal hentes ut fra listen, vi bruker metoden re.findall () I Python. Det vil finne alle e-postadressene fra listen.

        Python Regex Tutorial: re.match (), re.søk (), re.findall (), Flagg

        Her er den komplette koden for eksempel av re.findall()

        import relist = for element in list: z = re.match("(g\w+)\W(g\w+)", element)if z: print((z.groups())) patterns = text = 'software testing is fun?'for pattern in patterns: print('Looking for "%s" in "%s" ->' % (pattern, text), end=' ') if re.search(pattern, text): print('found a match!')else: print('no match')abc = This email address is being protected from spambots. You need JavaScript enabled to view it., This email address is being protected from spambots. You need JavaScript enabled to view it., This email address is being protected from spambots. You need JavaScript enabled to view it.'emails = re.findall(r'+@+', abc)for email in emails: print(email)

        Python-Flagg

        Mange Python Regex-Metoder og Regex-funksjoner tar et valgfritt argument kalt Flagg. Dette flagg kan endre betydningen av Den gitte Python Regex mønster. For å forstå Disse vil vi se ett eller to eksempel på Disse Flaggene.

        Various flags used in Python includes

        Syntax for Regex Flags What does this flag do
        Make begin/end consider each line
        It ignores case
        Make
        Make { \w,\W,\b,\B} follows Unicode rules
        Make {\w,\W,\b,\B} follow locale
        Allow comment in Regex

        Example of re.M Eller Flerline Flagg

        i flerline mønsteret tegnet matche det første tegnet i strengen og begynnelsen av hver linje (følger umiddelbart etter hver ny linje). Mens uttrykket liten » w » brukes til å markere plassen med tegn. Når du kjører koden, skriver den første variabelen » k1 «bare ut tegnet» g » for word guru99, mens når du legger til multiline-flagg, henter den ut første tegn av alle elementene i strengen.

        Python Regex Tutorial: re.match (), re.søk (), re.findall(), Flagg

        her er koden

        import rexx = """guru99 careerguru99selenium"""k1 = re.findall(r"^\w", xx)k2 = re.findall(r"^\w", xx, re.MULTILINE)print(k1)print(k2)
        • vi erklærte variabelen xx for streng » guru99…. careerguru99….selen «
        • Kjør koden uten å bruke flags multiline, det gir utgangen bare ‘ g ‘ fra linjene
        • Kjør koden med flagg «multiline», Når du skriver ut «k2», gir den utgangen som’ g’,’ c ‘og’ s ‘
        • så forskjellen vi kan se etter og før du legger til flere linjer i eksemplet ovenfor.

        På Samme måte kan du også bruke Andre Python-flagg som re.U (Unicode), re.L (Følg locale), re.X (Tillat Kommentar), etc.

        Python 2 Eksempel

        over koder Er Python 3 eksempler, hvis du vil kjøre I Python 2, vennligst vurder følgende kode.

        # Example of w+ and ^ Expressionimport rexx = "guru99,education is fun"r1 = re.findall(r"^\w+",xx)print r1# Example of \s expression in re.split functionimport rexx = "guru99,education is fun"r1 = re.findall(r"^\w+", xx)print (re.split(r'\s','we are splitting the words'))print (re.split(r's','split the words'))# Using re.findall for textimport relist = for element in list: z = re.match("(g\w+)\W(g\w+)", element)if z: print(z.groups()) patterns = text = 'software testing is fun?'for pattern in patterns: print 'Looking for "%s" in "%s" ->' % (pattern, text), if re.search(pattern, text): print 'found a match!'else: print 'no match'abc = This email address is being protected from spambots. You need JavaScript enabled to view it., This email address is being protected from spambots. You need JavaScript enabled to view it., This email address is being protected from spambots. You need JavaScript enabled to view it.'emails = re.findall(r'+@+', abc)for email in emails: print email# Example of re.M or Multiline Flagsimport rexx = """guru99 careerguru99selenium"""k1 = re.findall(r"^\w", xx)k2 = re.findall(r"^\w", xx, re.MULTILINE)print k1print k2

        Sammendrag

        et regulært uttrykk i et programmeringsspråk er en spesiell tekststreng som brukes til å beskrive et søkemønster. Det inkluderer sifre og tegnsetting og alle spesialtegn som$#@!%, osv. Uttrykk kan inkludere bokstavelig

        • tekst matchende
        • Repetisjon
        • Forgrening
        • Mønster-komposisjon etc.

        I Python, er et regulært uttrykk betegnet SOM RE (REs, regexes eller regex mønster) er innebygd Gjennom Python re modul.

        • «re» modul følger Med Python primært brukt for streng søking og manipulasjon
        • også brukt ofte for webside «Skraping» (trekke ut store mengder data fra nettsteder)
        • Regulære Uttrykk Metoder inkluderer re.match (), re.søk ()& re.findall ()
        • Andre Python RegEx erstatte metoder er sub() og subn () som brukes til å erstatte matchende strenger i re
        • Python Flagg Mange Python Regex Metoder og Regex funksjoner ta en valgfri argument kalt Flagg
        • Dette flaggene kan endre betydningen av den gitte Regex mønster

      • Ulike Python flagg brukes I Regex Metoder er re.M, re.Jeg, re.S, etc.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.