Python Regex -opetusohjelma esimerkillä

Blogi

Python Regex -opetusohjelma esimerkillä

Mikä on säännöllinen lauseke?

Säännöllinen lauseke ohjelmointikielellä on erityinen tekstimerkkijono, jota käytetään hakukuvion kuvaamiseen. Se on erittäin hyödyllinen tietojen poimimiseksi tekstistä, kuten koodista, tiedostoista, lokista, laskentataulukoista tai jopa asiakirjoista.

Kun käytät säännöllistä lauseketta, ensimmäinen asia on tunnistaa, että kaikki on olennaisesti merkki, ja kirjoitamme kuvioita vastaamaan tiettyä merkkijonoa, jota kutsutaan myös merkkijonoksi. Ascii- tai latinalaiset kirjaimet ovat näppäimistöissäsi ja Unicodea käytetään vieraan tekstin vastaamiseen. Se sisältää numeroita ja välimerkkejä sekä kaikki erikoismerkit, kuten $#@!%Jne.

Tässä opetusohjelmassa opimme:

  • Säännöllisen lausekkeen syntaksi
  • Esimerkki w+ - ja ^ -lausekkeista
  • Esimerkki lausekkeesta re.split -funktiossa
  • Säännöllisten lausekkeiden käyttäminen
  • Käyttämällä re.match ()
  • Kuvion löytäminen tekstistä (re.search ())
  • Re.findall -tekstin käyttäminen
  • Python -liput
  • Esimerkki re.M- tai Multiline -lipuista

Säännöllinen lauseke voi esimerkiksi kehottaa ohjelmaa etsimään tiettyä tekstiä merkkijonosta ja tulostamaan tuloksen sen mukaisesti. Ilmaisu voi sisältää

  • Tekstin haku
  • Kertaus
  • Haarautuminen
  • Kuvio-koostumus jne.

Pythonissa säännöllinen lauseke on merkitty RE: ksi (RE, regexes tai regex pattern) tuodaan uudelleenmoduuli . Python tukee säännöllistä lauseketta kirjastojen kautta. Pythonissa säännöllinen lauseke tukee erilaisia ​​asioita, kuten Muokkaajat, tunnisteet ja välilyönnit .

Säännöllisen lausekkeen syntaksi

RE

bootstrap materiaalisuunnittelun opetusohjelma
import re
  • Pythonin mukana toimitettu re -moduuli, jota käytetään pääasiassa merkkijonojen etsintään ja käsittelyyn
  • Käytetään myös usein verkkosivujen kaavintaan (poimi suuri määrä tietoja verkkosivustoilta)

Aloitamme ilmaisuohjeen tällä yksinkertaisella harjoituksella käyttämällä lausekkeita (w+) ja (^).

Esimerkki w+ - ja ^ -lausekkeista

  • ^: Tämä lauseke vastaa merkkijonon alkua
  • 'w + ': Tämä lauseke vastaa merkkijonon aakkosnumeerista merkkiä

Tässä näemme esimerkin siitä, kuinka voimme käyttää w+ - ja ^ -lausekkeita koodissamme. Käsittelemme re.findall -funktion myöhemmin tässä opetusohjelmassa, mutta jonkin aikaa keskitymme yksinkertaisesti w+ - ja ^ -lausekkeisiin.

Esimerkiksi merkkijono guru99: lle koulutus on hauskaa, jos suoritamme koodin näppäimillä w+ ja^, se antaa tuloksen guru99.

Python Regex -opetusohjelma: re.match (), re.search (), re.findall (), Liput

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

Muista, että jos poistat +-merkin w +: sta, tulos muuttuu ja antaa vain ensimmäisen kirjaimen ensimmäisen merkin, eli [g]

Esimerkki lausekkeesta re.split -funktiossa

  • s: Tätä lauseketta käytetään merkkijonon luomiseen

Ymmärtääksemme, miten tämä säännöllinen lauseke toimii Pythonissa, aloitamme yksinkertaisella esimerkillä split -funktiosta. Esimerkissä olemme jakaneet jokaisen sanan käyttämällä re.split -funktiota ja samaan aikaan olemme käyttäneet lauseketta s, jonka avulla voidaan jäsentää jokainen merkkijonon sana erikseen.

Python Regex -opetusohjelma: re.match (), re.search (), re.findall (), Liput

Kun suoritat tämän koodin, se antaa sinulle tuloksen ['me', 'olemme', 'halkaisu', 'the', 'sanat'].

Katsotaan nyt, mitä tapahtuu, jos poistat sovelluksen s. Tuloksessa ei ole a -kirjainta, koska tämä on poistettu merkkijonosta.

Python Regex -opetusohjelma: re.match (), re.search (), re.findall (), Liput

Samoin Pythonissa on useita muita säännöllisiä lausekkeita, joita voit käyttää eri tavoin Pythonissa, kuten d, D, $,., B jne.

http fxnetworks com aktivoi koodi

Tässä on täydellinen koodi

import re xx = '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')))

Seuraavaksi näemme menetelmätyypit, joita käytetään säännöllisten lausekkeiden kanssa.

Säännöllisten lausekkeiden käyttäminen

Uudelleenpaketti tarjoaa useita tapoja suorittaa kyselyitä syöttöjonolle. Menetelmä, jonka aiomme nähdä, ovat

  • re.match ()
  • re.search ()
  • re.findall ()

Huomautus : Säännöllisten lausekkeiden perusteella Python tarjoaa kaksi erilaista primitiivistä toimintoa. Vastaavuusmenetelmä tarkistaa osuman vain merkkijonon alussa, kun taas haku tarkistaa osuman missä tahansa merkkijonossa.

Käyttämällä re.match ()

Ottelutoimintoa käytetään RE -kuvion ja merkkijonon yhdistämiseen valinnaisilla lipuilla. Tässä menetelmässä lauseke w+ ja W vastaavat sanat, jotka alkavat kirjaimella 'g', ja sen jälkeen mitään, jota ei aloiteta 'g': llä, ei tunnisteta. Jos haluat tarkistaa luettelon tai merkkijonon kunkin elementin vastaavuuden, suoritamme forloopin.

Python Regex -opetusohjelma: re.match (), re.search (), re.findall (), Liput

Kuvion löytäminen tekstistä (re.search ())

Säännöllistä lauseketta käytetään yleisesti tekstin kuvion etsimiseen. Tämä menetelmä ottaa säännöllisen lausekkeen kuvion ja merkkijonon ja etsii kuvion merkkijonolla.

Jotta voit käyttää hakutoimintoa (), sinun on ensin tuotava re ja suoritettava sitten koodi. Haku () -toiminto ottaa kuvion ja tekstin skannattavaksi pääjonostamme ja palauttaa osuma -objektin, kun kuvio löytyy tai ei vastaa, jos kuviota ei löydy.

Python Regex -opetusohjelma: re.match (), re.search (), re.findall (), Liput

Esimerkiksi tässä etsimme kahta kirjaimellista merkkijonoa Ohjelmistotestaus guru99, tekstimerkkijonoina Ohjelmistotestaus on hauskaa. Ohjelmistotestausta varten löysimme osuman, joten se palauttaa tuloksen löydettynä, kun taas sanan guru99 kohdalla emme löytäneet merkkijonoa, joten se palauttaa tuloksen Ei vastaavuutta.

re.findall ()

löydä kaikki () moduulia käytetään etsimään kaikkia tapahtumia, jotka vastaavat tiettyä mallia. Sitä vastoin haku () -moduuli palauttaa vain ensimmäisen esiintymän, joka vastaa määritettyä mallia. findall () toistaa tiedoston kaikki rivit ja palauttaa kaikki päällekkäiset kuvion ottelut yhdessä vaiheessa.

google maps -sijainnin jakaminen ei toimi

Esimerkiksi tässä on luettelo sähköpostiosoitteista ja haluamme, että kaikki sähköpostiosoitteet haetaan luettelosta, käytämme re.findall-menetelmää. Se löytää kaikki sähköpostiosoitteet luettelosta.

Python Regex -opetusohjelma: re.match (), re.search (), re.findall (), Liput

Tässä on täydellinen koodi

import re list = ['guru99 get', 'guru99 give', 'guru Selenium'] for element in list: z = re.match('(gw+)W(gw+)', element) if z: print((z.groups())) patterns = ['software testing', 'guru99'] 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 = 'guru99@google.com , careerguru99@hotmail.com, users@yahoomail.com' emails = re.findall(r'[w.-]+@[w.-]+', abc) for email in emails: print(email)

Python -liput

Monet Python Regex Methods ja Regex -funktiot käyttävät valinnaista argumenttia nimeltä Flags. Nämä liput voivat muuttaa annetun Regex -kuvion merkitystä. Näiden ymmärtämiseksi näemme yhden tai kaksi esimerkkiä näistä lipuista.

Erilaisia ​​Pythonissa käytettyjä lippuja ovat mm

Esimerkki re.M- tai Multiline -lipuista

Monirivisellä kuviohaku [^] vastaa merkkijonon ensimmäistä merkkiä ja kunkin rivin alkua (seuraa heti jokaisen uuden rivin jälkeen). Vaikka lauseketta pieni w käytetään tilan merkitsemiseen merkeillä. Kun suoritat koodin, ensimmäinen muuttuja k1 tulostaa vain sanan guru99 merkin g, kun lisäät monirivisen lipun, se hakee kaikkien merkkijonon elementtien ensimmäiset merkit.

Python Regex -opetusohjelma: re.match (), re.search (), re.findall (), Liput

Tässä on koodi

import re xx = '''guru99 careerguru99 selenium''' k1 = re.findall(r'^w', xx) k2 = re.findall(r'^w', xx, re.MULTILINE) print(k1) print(k2)
  • Ilmoitimme muuttujan xx merkkijonolle guru99…. uraguru99… .selenium '
  • Suorita koodi käyttämättä monirivisiä lippuja, se antaa tuloksen vain 'g' riveiltä
  • Suorita koodi lipulla monirivinen, kun tulostat 'k2', se antaa tuloksen 'g', 'c' ja 's'
  • Joten ero, jonka voimme nähdä monirivien lisäämisen jälkeen ja ennen sitä, yllä olevassa esimerkissä.

Voit myös käyttää muita Python -lippuja, kuten re.U (Unicode), re.L (Follow locale), re.X (Allow Comment) jne.

Esimerkki Python 2: sta

Yllä olevat koodit ovat esimerkkejä Python 3: sta. Jos haluat käyttää Python 2: ta, harkitse seuraavaa koodia.

# Example of w+ and ^ Expression import re xx = 'guru99,education is fun' r1 = re.findall(r'^w+',xx) print r1 # Example of s expression in re.split function import re xx = '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 text import re list = ['guru99 get', 'guru99 give', 'guru Selenium'] for element in list: z = re.match('(gw+)W(gw+)', element) if z: print(z.groups()) patterns = ['software testing', 'guru99'] 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 = 'guru99@google.com, careerguru99@hotmail.com, users@yahoomail.com' emails = re.findall(r'[w.-]+@[w.-]+', abc) for email in emails: print email # Example of re.M or Multiline Flags import re xx = '''guru99 careerguru99 selenium''' k1 = re.findall(r'^w', xx) k2 = re.findall(r'^w', xx, re.MULTILINE) print k1 print k2

Yhteenveto

Säännöllinen lauseke ohjelmointikielellä on erityinen tekstimerkkijono, jota käytetään hakukuvion kuvaamiseen. Se sisältää numeroita ja välimerkkejä sekä kaikki erikoismerkit, kuten $#@!%Jne. Lauseke voi sisältää kirjaimen

  • Tekstin haku
  • Kertaus
  • Haarautuminen
  • Kuvio-koostumus jne.

Pythonissa säännöllinen lauseke on merkitty RE: ksi (RE, regexes tai regex pattern) upotetaan re -moduulin kautta.

  • Pythonin mukana toimitettu re -moduuli, jota käytetään pääasiassa merkkijonojen etsintään ja käsittelyyn
  • Käytetään myös usein verkkosivujen kaavintaan (poimi suuri määrä tietoja verkkosivustoilta)
  • Säännöllisten lausekkeiden menetelmiä ovat mm re.match (), re.search () & re.findall ()
  • Python -liput Monet Python Regex Methods ja Regex -funktiot käyttävät valinnaista argumenttia nimeltä Flags
  • Nämä liput voivat muuttaa annetun Regex -kuvion merkitystä
  • Regex -menetelmissä käytetyt eri Python -liput ovat re.M, re.I, re.S jne.

Python -opetusohjelma: re -moduuli - Säännöllisten lausekkeiden kirjoittaminen ja sovittaminen (Regex)

Tässä Python -ohjelmointioppaassa opimme lukemaan, kirjoittamaan ja sovittamaan säännölliset lausekkeet uudelleenmoduuliin. Säännölliset lausekkeet ovat erittäin hyödyllisiä yhteisten tekstimallien, kuten sähköpostiosoitteiden, puhelinnumeroiden, URL -osoitteiden jne. Vastaamiseksi. Kun opimme tekemään tämän Pythonissa, voimme jäsentää nopeasti tarvittavat tiedot tiedostoista ja tekstistä.


Python RegEx | Pythonin säännöllisten lausekkeiden opetusohjelma | Python -opetusohjelma | Python -koulutus

Tämä Edureka Python RegEx -opetusohjelma (Python -opetusblogi: https://goo.gl/wd28Zr ) auttaa sinua ymmärtämään säännöllisten lausekkeiden käytön Pythonissa. Opit erilaisia ​​säännöllisen lausekkeen toimintoja ja syntakseja. Opit toteuttamaan kaikki regex -toiminnot pythonissa käytännössä.

Alla on tämän opetusohjelman aiheita:

  1. Miksi käytämme säännöllisiä lausekkeita?
  2. Mitä ovat säännölliset lausekkeet?
  3. Säännöllisten lausekkeiden perustoiminnot
  4. Sähköpostin vahvistus säännöllisillä lausekkeilla
  5. Puhelinnumeron vahvistus säännöllisillä lausekkeilla
  6. Web -kaavinta säännöllisten lausekkeiden avulla

Säännöllisten lausekkeiden (Regex) opetusohjelma: Kuinka sovittaa mihin tahansa tekstikuvioon

fitness-mobiilisovelluskehitys

Tässä säännöllisten lausekkeiden (regex) opetusohjelmassa aiomme oppia vastaamaan tekstikuvioita. Säännölliset lausekkeet ovat erittäin hyödyllisiä vastaamaan yleisiä tekstimalleja, kuten sähköpostiosoitteita, puhelinnumeroita, URL -osoitteita jne. Lähes jokaisella ohjelmointikielellä on säännöllisen lausekkeen kirjasto, joten säännöllisten lausekkeiden oppiminen ei ainoastaan ​​auta sinua löytämään malleja tekstieditoristasi, mutta voit myös käyttää näitä ohjelmointikirjastoja kaavojen etsimiseen ohjelmallisesti.


Pythonin säännölliset lausekkeet (RegEx) | Säännölliset lausekkeet Pythonissa | Python -opetusohjelma

Tämä Pythonin säännöllisten lausekkeiden opetusohjelma auttaa sinua ymmärtämään, mitkä ovat säännöllisiä lausekkeita ja symboleja säännöllisten lausekkeiden kirjoittamiseen, sekä esittelyn niiden käytöstä. Säännölliset lausekkeet ovat joukko merkkejä, jotka auttavat tietyn kuvion yhtä merkkijonoa. Säännöllisten lausekkeiden historia tuli monilta muilta kieliltä. Aloitetaan nyt ja ymmärretään, kuinka käyttää säännöllisiä lausekkeita esittelyn kanssa.

Alla olevat aiheet selitetään tässä Pythonin säännöllisten lausekkeiden opetusohjelmassa:

  1. Mitä ovat säännölliset lausekkeet? (00:15)
  2. Säännöllisten lausekkeiden kirjoittamisen symbolit (01:41)
  • $: Määrittää, että osuman on tapahduttava merkkijonon lopussa
  • []: Vastaa kaikkia hakasulkeissa olevia merkkejä
  • [^…]: Vastaa kaikkia hahmoja lukuun ottamatta
  • .: Edustaa minkä tahansa merkin yksittäistä esiintymistä paitsi uutta riviä
  • ?: Edellinen merkki on valinnainen
  • ^: Määrittää, että osuman on aloitettava merkkijonon alusta

#python #regex #web-kehitys